MySQL?source導(dǎo)入很慢的解決方法
現(xiàn)在有這樣一個需求,內(nèi)網(wǎng)有一個數(shù)據(jù)庫服務(wù),需要將外網(wǎng)的數(shù)據(jù)庫導(dǎo)入到內(nèi)網(wǎng)數(shù)據(jù)庫。
將外網(wǎng)的數(shù)據(jù)庫導(dǎo)出sql文件有700MB+,用MySQL自帶的source導(dǎo)入很慢,于是就用了如下方法加速導(dǎo)入,親測很快。
1. 登錄MySQL
進入內(nèi)網(wǎng)服務(wù)器,登錄mysql,輸入密碼即可。
mysql -u root -p
2. 創(chuàng)建數(shù)據(jù)庫
根據(jù)需求創(chuàng)建數(shù)據(jù)庫
create database 數(shù)據(jù)庫名;
3. 設(shè)置參數(shù)
sql_log_bin 關(guān)閉二進制日志
autocommit 關(guān)閉事務(wù)自動提交
set sql_log_bin=off; set autocommit=0;
4. 使用數(shù)據(jù)庫
use 數(shù)據(jù)庫名;
5. 開啟事務(wù)
start transaction;
6. 導(dǎo)入sql
source 文件.sql;
7. 手動提交事務(wù)
commit;
8. 改回配置
set sql_log_bin=on; set autocommit=1;
附mysql加速source導(dǎo)入數(shù)據(jù)
# 進入mysql中執(zhí)行如下 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;
總結(jié)
到此這篇關(guān)于MySQL source導(dǎo)入很慢解決的文章就介紹到這了,更多相關(guān)MySQL source導(dǎo)入很慢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL關(guān)系型數(shù)據(jù)庫事務(wù)的ACID特性與實現(xiàn)
這篇文章主要介紹了MySQL關(guān)系型數(shù)據(jù)庫事務(wù)的ACID特性與實現(xiàn),ACID?是為保證事務(wù)transaction是正確可靠的,具備原子性、一致性、隔離性、持久性等特性2022-07-07教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實現(xiàn)
這篇文章主要介紹了教你如何6秒鐘往MySQL插入100萬條數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08