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

将外网的数据库导出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;
登录后复制

以上就是MySQL source导入很慢怎么解决的详细内容,更多请关注Work网其它相关文章!

09-16 06:59