mysqldump導入慢的解決方法
MySQL導出的SQL語句在導入時有可能會非常非常慢,經歷過導入僅45萬條記錄,竟用了近3個小時。在導出時合理使用幾個參數,可以大大加快導 入的速度。
-e 使用包括幾個VALUES列表的多行INSERT語法;
--max_allowed_packet=XXX 客戶端/服務器之間通信的緩存區的最大大小;
--net_buffer_length=XXX TCP/IP和套接字通信緩沖區大小,創建長度達net_buffer_length的行。
注意:max_allowed_packet和net_buffer_length不能比目標數據庫的設定數值 大,否則可能出錯。
首先確定目標庫的參數值
mysql>show variables like 'max_allowed_packet';
mysql>show variables like 'net_buffer_length';
根據參數值書寫mysqldump命令,如:
E:\eis>mysqldump -uroot -p eis_db goodclassification -e --max_allowed_packet=1048576 --net_buffer_length=16384 >good3.sql
之前2小時才能導入的sql現在幾十秒就可以完成了。
mysql中source *sql的步驟導入數據太慢了
把innodb_flush_log_at_trx_commit這個參數改為0 然後重啟數據庫 應該比你原來速度快100倍
mysql source 命令導入大的sql
在mysql的安裝目錄下 找到 my.ini文件 加入以下代碼:
代碼如下
interactive_timeout = 120
wait_timeout = 120
max_allowed_packet = 32M