首页 > 文章列表 > 如何加速MySQL数据导入?

如何加速MySQL数据导入?

mysql source
387 2023-04-26

现在有这样一个需求,内网有一个数据库服务,需要将外网的数据库导入到内网数据库。

将外网的数据库导出sql文件有700MB+,用MySQL自带的source导入很慢,于是就用了如下方法加速导入,亲测很快。

1. 登录MySQL

进入内网服务器,登录mysql,输入密码即可。

mysql -u root -p

2. 创建数据库

根据需求创建数据库

create database 数据库名;

3. 设置参数

sql_log_bin 关闭二进制日志

autocommit 关闭事务自动提交

set sql_log_bin=off;
set autocommit=0;

4. 使用数据库

use 数据库名;

5. 开启事务

start transaction;

6. 导入sql

source 文件.sql;

7. 手动提交事务

commit;

8. 改回配置

set sql_log_bin=on;
set autocommit=1;

附mysql加速source导入数据

# 进入mysql中执行如下
SET GLOBAL foreign_key_checks=0;
SET GLOBAL unique_checks=0;
SET GLOBAL innodb_flush_log_at_trx_commit=0;
SET GLOBAL sync_binlog=0;

-- 你的sql语句1
-- 你的sql语句2
-- 你的sql语句3

SET GLOBAL foreign_key_checks=1;
SET GLOBAL unique_checks=1;
SET GLOBAL innodb_flush_log_at_trx_commit=1;
SET GLOBAL sync_binlog=1;