mysql导入和导出数据

1.导出数据的基本语句select ...into outfile,实用程序mysqldump,常见的可选项,--tab=导出数据文件的路径,--no-create-info不创建多余信息.

  • 导出原始数据,就是文本内容mysqldump -u root -p123456 --no-create-info --tab=/tmp database_name table_name
  • 导出sql文件,其中有create,insert,update,delete等所有的sql语句,mysqldump -u root -p123456 database_name table_name>dump.sql,把dump.sql文件重新执行一次就恢复数据了。
  • 注意在导出文本文件时有如下错误:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement。 secure_file_priv选项是mysql写出文件的位置。在mysql中用show variables like '%secure%'可以查看其值。可以看到secure_file_priv默认值为/var/lib/mysql-files/,或许这就是导出不成功的原因;因此我们可以更改mysql配置文件,经过我一下午的测试:修改/etc/mysql/my.cnf文件是没有用的,应该修改/etc/mysql/mysql.conf.d/mysqld.cnf在文件末尾加上一句secure_file_priv='/'表示可以导出文件到任意位置,但实际上只能导出到/tmp目录下,其他目录因为访问权限被拒绝。
  • 参考链接:https://blog.csdn.net/ZT7524/article/details/101101341?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2.导入数据到数据库中:

  • 导入sql文件mysql -u root -p123456 database_name <dump.sql,要先创建数据库才行。或者登上mysql,set names utf8,设置字符编码,source dump.sql导入数据
  • 导入文本文件(原始数据),登上mysql,再用基本语句load data infile 'runoob_tbl.txt' into table tablename。或者使用mysqlimport -u root -p123456 --local database_name 'table_name.txt',注意mysqlimport只用数据库名,不用数据表名,通过要导入的文本文件名来确定要导入的数据表,所以文本文件名必须要和导入的数据表名一致。因为是导入文本数据,所以要导入的表应该事先创建好,可以在原数据库中用show create table table_name得到表的创建命令,复制粘贴到新数据库运行即可。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值