MySQL导入导出你还在用mysqldump吗?

在MySQL5.6之后出现了快速导入导出数据量大的表的方式

1.由于这个属性默认是关闭的,小编建议最好查询一下该功能是否正常开启

show global variables like '%secure_file_priv%'; # show global variables 查询mysql系统配置

如下图,表示已经开启(如果查询出来的值为 null 表示没有开启)

2.开启快速导入导出

修改 MySQL 配置文件(windows my.ini、linux my.cnf)

在[mysqld]下添加 secure_file_priv=''

(补充)

secure_file_priv 的值可以为某个路径,表示只能导出到某个路径下,空字符串表示所有路径都可以

3.重启 MySQL 服务

4.执行快速导出(200w数据大概几秒即可全部导出(仅供参考))

select * into  OUTFILE '导出绝对路径/文件名.txt' from 表名;

5.快速导入(需要先创建要导入的表)(200w数据本地导入大概需要15秒左右(仅供参考))

 load data infile '文件绝对路径/文件名.txt' INTO TABLE 表名;

以上就是相关操作,小编测试的表都是字段比较少的(4、5)个,而且每一列数据也不超过10个字符

   (补充)

  如果在步骤4和步骤5中的路径不是绝对路径,那么会发生错误

  如果没有写路径,MySQL 会默认去该数据库的存储目录文件中查找(由于安装 MySQL 时会配置,这个要根据实际情况来定。如果不知道数据库路径,请点这里

 

posted @ 2019-06-26 16:21  chbyiming  阅读(1034)  评论(0编辑  收藏  举报