ERROR 2006 (HY000): MySQL server has gone awayERROR 2013 (HY000): Lost connection to MySQL server during query-- 查看當前值
SHOW VARIABLES LIKE '%timeout%';
SHOW VARIABLES LIKE '%packet%';
-- 臨時調大(按需設定,建議值)
SET GLOBAL max_allowed_packet = 100*1024*1024; -- 100MB
SET GLOBAL wait_timeout = 28800; -- 8小時
SET GLOBAL interactive_timeout = 28800; -- 8小時
-- 永久生效:寫入 /etc/my.cnf [mysqld] 區
[mysqld]
max_allowed_packet = 100M
wait_timeout = 28800
interactive_timeout = 28800
| 參數 | 作用 | 建議值 |
|---|---|---|
max_allowed_packet | 單次通訊最大封包,影響大 SQL/大字段傳輸 | 100M~1G |
wait_timeout | 非交互連接空閒斷開秒數 | 28800 (8h) |
interactive_timeout | 交互式客戶端空閒斷開秒數 | 28800 (8h) |
net_read_timeout | 讀取數據超時(從庫同步常調) | 60~600 |
net_write_timeout | 寫入數據超時 | 60~600 |
max_allowed_packet 勾選並設大mysql --max_allowed_packet=100M -u root -p < backup.sql?maxAllowedPacket=104857600SET FOREIGN_KEY_CHECKS=0; 導入後 =1SET UNIQUE_CHECKS=0;SET AUTOCOMMIT=0; 導入後 COMMIT;SET SQL_LOG_BIN=0;(需 SUPER 權限)innodb_buffer_pool_size、innodb_log_file_size、innodb_flush_log_at_trx_commit=2(臨時)還原完成後務必恢復參數,長期設過大的 wait_timeout 會佔用連接資源,max_allowed_packet 過大可能掩蓋應用層 BUG。建議寫腳本自動調優→還原→復原。