# mysql导入sql文件时间过长问题优化
目录
在开发过程中,需要导入几个GB的SQL文件到测试数据库服务,如果通过Navicat Premium等数据库工具导入,时间非常久需要40分钟以上。
原因是数据传输、每执行一条sql都开启事务、数据库日志影响导入数据
后来发现直接把文件放在服务器上直接用命令行导入很快,操作步骤:
# 1.先把sql文件放在服务器目录上
E:\bakup\db.sql
# 2.直接进入服务器登录mysql客户端,输入数据库密码
mysql -u root -p
# 3.切换到需要导入的数据库(如test),关闭自动提交和binlog
use test;
set autocommit=0;
set sql_log_bin=0;
# 4.开启事务
start transaction;
# 5.导入数据
source E:\bakup\db.sql
这个步骤比较久,需要等一会
# 6.等待导入完毕,提交事务
commit;
# 7.重新打开自动提交和日志
set autocommit=1;
set sql_log_bin=1;
# 8.结语
优化过后发现,3GB的SQL文件在机械硬盘的服务器上只需要10多分钟。