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;

 我的300多M的文件,这样就行了,下面是原文的讲解:

本以为这样就可以挂机等待 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 对当前交互链接有效时间。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值