現在有這樣一個需求,內網有一個數據庫服務,需要將外網的數據庫導入到內網數據庫。
將外網的數據庫導出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