# mysql导入sql文件时间过长问题优化 (adsbygoogle = window.adsbygoogle || []).push({}); 目录
1.先把sql文件放在服务器目录上2.直接进入服务器登录mysql客户端,输入数据库密码3.切换到需要导入的数据库(如test),关闭自动提交和binlog4.开启事务5.导入数据6.等待导入完毕,提交事务7.重新打开自动提交和日志8.结语
在开发过程中,需要导入几个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多分钟。
(adsbygoogle = window.adsbygoogle || []).push({});