MySQL导入大型sql文件太慢的解决办法(亲测有效)

大型sql文件是指超过80M的sql文件,当然无论多小的sql文件,都可以通过下面这种方法进行操作。

1.sql文件的来源尽量是通过MySQL自带的命令产生的
方式:cmd进入到MySQL的bin目录下,输入一下命令
mysqldump -u 用户名 -p 导出的数据库名 >导出的文件完整路径
然后输入密码即可。

2.修改my.ini配置文件下innodb_buffer_pool_size
尽可能做到设置值为系统内存的30%,然后重启服务,若重启出现报错,请把该值改小,直至重启成功。

3.修改innodb自动提交为off(这是临时的,下次重启服务会恢复原值on)
方式:cmd进入到MySQL的bin目录下,输入
**set autocommit=0;**即可

4.在即将导入的MySQL数据库下建立新的库

5.利用bat文件将改sql文件导入到MySQL,注意bat文件和sql文件同时放到MySQL的bin目录下,具体的bat文件内容如下:

@echo off
set host=127.0.0.1
set dbname=statdb
set user=root
set password=123456
set filename=stat_zj

cd %~dp0
set dbname=statdb
echo 开始更新
echo %TIME%
mysql -h %host% -u %user% -p%password% %dbname%< %filename%.sql
echo %TIME%
echo 成功完成更新
pause

下面是我导入一个1.3G的sql文件实验结果
MySQL导入大型sql文件太慢的解决办法(亲测有效)_第1张图片
结果表明,远远比navicate工具导入要快得多,navicat导入该文件花了大概4小时时间,当然系统不同,效率不同,但一定是我刚才所讲的方式要快的多的多

你可能感兴趣的:(数据库)