Mysqldump匯入資料庫很慢的解決辦法
阿新 • • 發佈:2018-12-26
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