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多分钟。
作者头像
作者名称
作者性别
评论列表