现在有这样一个需求,内网有一个数据库服务,需要将外网的数据库导入到内网数据库。
将外网的数据库导出sql文件有700MB+,用MySQL自带的source导入很慢,于是就用了如下方法加速导入,亲测很快。
1. 登录MySQL
进入内网服务器,登录mysql,输入密码即可。
1
|
mysql -u root -p |
2. 创建数据库
根据需求创建数据库
1
|
create database 数据库名; |
3. 设置参数
sql_log_bin 关闭二进制日志
autocommit 关闭事务自动提交
1
2
|
set sql_log_bin= off ; set autocommit=0; |
4. 使用数据库
1
|
use 数据库名; |
5. 开启事务
1
|
start transaction ; |
6. 导入sql
1
|
source 文件.sql; |
7. 手动提交事务
1
|
commit ; |
8. 改回配置
1
2
|
set sql_log_bin= on ; set autocommit=1; |
附mysql加速source导入数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 进入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导入很慢解决的文章就介绍到这了,更多相关MySQL source导入很慢内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/WeiHao0240/article/details/122091223