mysql 的sql文件太大怎么快速导入

来自百度知道:

在实际工作中,有时需要导入大容量sql文件到MySQL,通常有以下三种方法: (1)通过phpmyadmin,不推荐,有内存等的限制; (2)通过Navicat Premium工具运行sql,不推荐,效率低; (3)通过source命令导入,推荐,效率高,经测试,小编导入一个3.02G的文件耗时3分08秒; 打开MySQL安装目录下的my.ini文件,添加max_allowed_packet,设置大小为64M,如下: 在服务中重新启动MySQL服务,在命令行窗口(命令:show VARIABLES like %max_allowed_packet%;)查看是否修改成功: 在命令行窗口中使用source命令(source sql文件路径)导入sql文件,如下(我们可以看到,执行效率比较高):

MySQL的source命令

用MySQL的source命令导入SQL文件实战记录。

进入 CMD 执行 mysql -uroot -p 输入密码后进入 MySQL 命令提示符 依次执行:

use XXXdatabase; set charset utf8; source d:/xxx.sql;

本以为这样就可以挂机等待 sql 文件如期导入了,但是事与愿违,当过一段时间在打开时发现命令行提示链接超时,等待重新链接。 这时候需要再执行以下 sql:

set global max_allowed_packet=100000000; set global net_buffer_length=100000; set global interactive_timeout=28800000; set global wait_timeout=28800000;

以上语句的解释: max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小 net_buffer_length=XXX TCP/IP 和套接字通信缓冲区大小,创建长度达 net_buffer_length 的行 interactive_timeout 对后续起的交互链接有效时间 wait_timeout 对当前交互链接有效时间。

经验分享 程序员 微信小程序 职场和发展