美文网首页
MySQL数据库导入导出大数据量注意事项

MySQL数据库导入导出大数据量注意事项

作者: 明训 | 来源:发表于2019-03-08 23:58 被阅读0次

MySQL数据库导入导出大数据量注意事项

MySQL导出导入小数据量时可以使用Navicate等客户端工具,但是当数据库量达到一定后,使用图形化的客户端工具会出现各种各样的问题,比如Navicate会出现进度百分比计算不对无法结束的问题。

导出

导出一个数据库的结构以及数据,通过Xshell远程连接Mysql服务器,在命令行窗口执行mysqldump命令进行操作

语法

mysqldump dbname -uroot -p > dbname.sql

实例

mysqldump steal-treasure -uroot -p > steal-treasure.sql

待命令执行完成后,即可完成导出

https://www.cnblogs.com/yuzhoushenqi/p/7066317.html

导入

问题

通过source命令导入sql脚本出现如下错误

ERROR 1231 (42000): Variable 'time_zone' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'foreign_key_checks' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'unique_checks' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'character_set_client' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'collation_connection' can't be set to the value of 'NULL'
ERROR 1231 (42000): Variable 'sql_notes' can't be set to the value of 'NULL'

方案

方案一 全局配置

修改/etc/my.cnf配置文件

[root@swk-store-208 ~]# vim /etc/my.cnf

调整配置节[mysqld],添加或调整配置max_allowed_packet

max_allowed_packet=16M

使得参数的值变大重启Mysql服务即可。

[root@swk-store-208 ~]# service  mysqld restart

方案二 临时配置

检查目前数据库配置的导入文件大小

SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';

根据当下需要导入文件的实际大小合理的调整上述参数

全局配置生效

SET GLOBAL max_allowed_packet=1024*1024*1024*10;

当前会话生效

set max_allowed_packet=1024*1024*1024*10;

此处是设置了10G大小的限制
Linux下面可以使用10241024102410,Windows下面使用计算好的值
1024
1024102410= 10737418240

检查是否生效

SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';

实施

  • 将脚本上传至服务器某个路径下,例如:/xxx/dbfile/init.sql
  • 在服务器上通过命令进入MySQL,mysql -uroot -p,输入正确的密码敲回车进入MySQL
  • 创建导入的dbname数据库,并通过use命令进入,例如:use dbname;
  • 通过source命令导入脚本,例如:source /iflytek/dbfile/init.sql
  • 待命令执行完毕后,打开本地数据库客户端工具(navicat)连接数据库逐个查看核对本次导入是否成功

检查

执行完数据的导入后,通过Navicate等图形化客户端工具在查询Mysql对应的数据库时会发现查询和对应的操作会异常缓慢,此时重启Mysql服务也会出现无法正常重启的情况。此时不要慌张,等待半个小时到一个小时再操心数据库即可发现一切正常,天气晴朗,要给它一点时间缓一缓。

相关文章

网友评论

      本文标题:MySQL数据库导入导出大数据量注意事项

      本文链接:https://www.haomeiwen.com/subject/gbsjpqtx.html