1.简介
相对于mysqldump来说,select ...into outfile 只能备份表数据,不能备份表结构。如果备份之后,表被drop掉,则无法实现恢复操作。它把备份出来的数据导出到一个文本文件中,通过load data方式实现数据的恢复。
2.使用
常用语法如下:
select col1,col2,... from tabname into outfile '/path/备份文件名字';
案例1:先在mysql数据库中创建表example用来做实验用,创建步骤如下图所示:
将表example的数据全部导出,备份文件example.sql
mysql> select * from example into outfile '/usr/local/backup_outfile/example.sql';
解决上述错误的方法:
可以看到默认的文件保存位置,简单的方法就是直接放在上述目录下,也可以在/etc/my.cnf下进行设置,重启mysql服务即可。
select * from example into outfile '/var/lib/mysql-files/example.sql';
如果再次把备份文件导出到刚刚的目录下,就会提示文件已经存在的错误。
恢复的过程,把example表的数据删除掉,用load data的方法导入备份的数据文件。
load data infile '/var/lib/mysql-files/example.sql' into table example;