1. 程式人生 > >Mysqldump匯入資料庫很慢的解決辦法

Mysqldump匯入資料庫很慢的解決辦法

1、MySQLdump匯出的SQL語句在匯入到其他資料庫的時候會相當慢,甚至幾十秒才處理一條SQL;在反覆測試後,發現有兩個引數會影響匯入的速度

      --max_allowed_packet=*****            客戶端/伺服器之間通訊的快取區的最大大小;
                --net_buffer_length=****       TCP/IP和套接字通訊緩衝區大小,建立長度達net_buffer_length的行。

在匯出的時候,使用-e選項設定上面兩個值,需要注意的是max_allowed_packet 和 net_buffer_length的匯出值不能比目標資料庫的值大;

參看資料庫的引數值,使用如下命令;
mysql> show variables like 'max_allowed_packet';
mysql> show variables like 'net_buffer_length';

這裡寫圖片描述

參照查詢到的目標資料引數,匯出資料;

# mysqldump -uroot -p*** 原資料庫 -e --max_allowed_packet=4194304 --net_buffer_length=16384 > file.sql

這樣,再將匯出的file.sql匯入恢復mysql ,速度提高非常之大!

# mysql -uroot -p123456  cgwy < /mnt/mysql_db/cgwy.sql