1. 程式人生 > 資料庫 >mysql 快速匯入超大SQL檔案(10G以上)

mysql 快速匯入超大SQL檔案(10G以上)

mysql 快速匯入超大SQL檔案(10G以上)

最近專案需要匯入人家的資料,檔案在10G以上,下面是實際總結記錄,避免再次踩坑。

一般優化方法:

登入mysql
mysql -u root -p密碼

建立資料庫
CREATE DATABASE 資料庫名;
設定引數
set sql_log_bin=OFF;//關閉日誌
set autocommit=0;//關閉autocommit自動提交模式
set names utf8;

use 資料庫名;

開啟事務
START TRANSACTION;
引入SQL檔案
source 檔案的路徑;
成功後事務提交 
COMMIT; 

這種方法可以提高匯入速度,但是沒解決根本,如果表的外來鍵和索引比較多的話,照樣很慢。


最好的方法是:先分別匯出建表語句和資料語句,然後手工建表,刪除外來鍵和索引,然後再匯入資料這樣就會非常快

匯出結構不匯出資料
mysqldump --opt -d -u root -p密碼 資料庫名> xxx.sql 
或者mysqldump --no-data   -u username -p* database_name > xxx.sql  

匯出低於8.0版本的MySQL資料庫時,會出現Unknown table ‘column_statistics’ in information_schema的錯誤.   加選項--column-statistics=0就可以了
mysqldump --opt -d --column-statistics=0 -u root -p密碼 資料庫名> xxx.sql

匯出資料不匯出結構
mysqldump --opt -t  -uroot -p密碼  資料庫名 > xxx.sql 

備註:匯出、匯入資料用MYSQLDUMP,不要用NAVICAT。

 


備註:實戰示例,解疑答惑。

           --不間端地思考,實時地批判你的工作!