使用MYSQL界定符备份及还原数据库
来源:互联网 作者: 发布时间:2011-01-09
在《高性能Mysql》第二版中看到,SQL文件和界定符文件在备份、还原时的耗费时间对比。 方式 文件大小 导出时间 还原时间 SQL dump 727M 102s 600s Delimited dump 669M 86s 301s 看起来界定符文件的导出比sql文件快了近20%,还原速度快了一倍。 记录和总结一下语法:
在《高性能Mysql》第二版中看到,SQL文件和界定符文件在备份、还原时的耗费时间对比。
方式 文件大小 导出时间 还原时间
SQL dump 727M 102s 600s
Delimited dump 669M 86s 301s
看起来界定符文件的导出比sql文件快了近20%,还原速度快了一倍。
记录和总结一下语法:
备份:SELECT INTO OUTFILE
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy.txt'
默认使用tab分割字段,记录使用\n分割。可以自定义三个参数。
SELECT * FROM hx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
即使用,分割字段,双引号限定字段内容,\n分割记录。
还可以指定某些条件的记录输出:
SELECT * FROM hx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt'
还原:LOAD DATA INFILE
默认情况:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy
如果有指定界定符,则加上界定符的说明:
LOAD DATA INFILE '/tmp/9enjoy.txt' INTO TABLE hx_9enjoy FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'
注意事项
1.mysql必须要有权限访问生成文件的那个目录
2.由于安全方面的原因,不能覆盖已存在的文件,不管这个文件的权限是怎么分配的。
3.不能直接导出一个压缩文件。延伸阅读:数据库备份类MySQL数据库备份php数据库备份参考 Linux网络备份MYSQLPHP通用数据库备份类示例小而强大的数据库备份程序MySQL平台数据库备份方案详细说明如何用SQLyog备份及导入mysql数据库MySQL数据库备份恢复的两个实用方法 PHP备份数据库为SQL文件函数利用mysqldump备份MySQL数据库