mysqldump 錯誤2013 Lost connection

導(dǎo)出數(shù)據(jù)庫的時候報如下錯誤 mysqldump: Error 2013: Lost connection to MySQL server during query when dumping tablemailat row: 2637433

查詢資料

大概說是因為mysqldump來不及接受mysql server端發(fā)送過來的數(shù)據(jù),Server端的數(shù)據(jù)就會積壓在內(nèi)存中等待發(fā)送,這個等待不是無限期的,當(dāng)Server的等待時間超過net_write_timeout(默認(rèn)是60秒)時它就失去了耐心,mysqldump的連接會被斷開,同時拋出錯誤Got error: 2013: Lost connection。

解決方案一

增加net_write_timeout可以解決上述的問題的。在實踐中發(fā)現(xiàn),在增大 net_write_timeout后,Server端會消耗更多的內(nèi)存,有時甚至?xí)?dǎo)致swap的使用(并不確定是不是修改 net_write_timeout所至)。建議在mysqldump之前修改net_write_timeout為一個較大的值(如1800),在 mysqldump結(jié)束后,在將這個值修改到默認(rèn)的60。

在sql命令行里面設(shè)置臨時全局生效用類似如下命令:
SET GLOBAL net_write_timeout=1800;

修改了這個參數(shù)后再備份,不再報錯
注意,這個參數(shù)不是mysqldump選項,而是mysql的一個配置參數(shù)

解決方案二

在執(zhí)行 mysqldump 的時候可以通過添加 --quick 的參數(shù)來避免出現(xiàn)這樣的問題

 --quick,-q

該選項用于轉(zhuǎn)儲大的表。它強制mysqldump從服務(wù)器一次一行地檢索表中的行而不是檢索所有行并在輸出前將它緩存到內(nèi)存中。

參考文檔

http://www.linuxyw.com/linux/yunweiguzhang/20130609/566.html

http://www.cnblogs.com/haven/archive/2012/10/27/2742141.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容