# mysql导入sql文件时间过长问题优化

(adsbygoogle = window.adsbygoogle || []).push({});

目录

在开发过程中,需要导入几个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({});
Last Updated: 4/30/2023, 9:10:11 PM