MySQL备份教程(5)表数据的导入与导出

tanglu 1647 2021-04-03

如果仅需要表中的数据而不需要连表结构一起导出的话,推荐使用MySQL自带的into outfile和load data命令来进行表数据的导出和导入。这种导出方式更为高效,但是在进行表数据导出时不包含表结构,所以需要先备份表结构,然后恢复表结构后再进行表数据的导入。

一、into outfile导出表数据

1、导出MySQL表数据示例

mysql > select * from db1.t1 where a>900 into outfile '/tmp/t1.csv';
mysql > select * from school.class into outfile '/data/backup/class.csv';  #导出class表


2、自定义字段分隔符,如果导出的时候定义了分隔符,在导入的时候也同样需要指定分隔符,效果如图

mysql > select * from school into outfile '/data/backup/school2.txt' fields terminated by '---'

outfile1.png


二、load data导入表数据示例

LOAD DATA INFILE '/data/backup/class.csv' INTO TABLE school.class;


三、导出数据注意事项

1、into outfile语句导出的结果只能保存在服务端。如果执行命令的客户端和MySQL服务端不在同一个机器上,那么客户端是不会生成文件的。

2、into outfile受到数据库参数secure_file_priv限制。如果secure_file_priv为empty代表不限制文件保存位置;如果设置为一个路径,则导出文件只能存放于指定目录或它的子目录;如果设置为NULL表示禁止进行select … into outfile操作

3、into outfile命令不会覆盖文件,需要自己确保保存目录下的文件不存在,否则执行语句时就会因为有同名文件的存在而报错

4、导出的文件中的每一行原则上会对应数据库中的每一行数据。但是如果字段中包含换行符,在生成的文本中也会有换行符。不过类似换行符、制表符这类符号,前面都会跟上“\”这个转义符,这样就可以跟字段之间、数据行之间的分隔符区分开

版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:MySQL备份教程(4)使用LVM逻辑卷进行数据备份教程
下一篇:【实用脚本】MySQL备份自动恢复脚本
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码