標籤:
問題概括:MySQL Server has gone away?
遇到這個問題還得追溯到這次前往南通軟體園出差。當天下午下班之前,主管說可能明天出差,把項目和最新的Database Backup一下,備份完成之後,也沒在意,況且還沒確定呢,這僅僅是可能,至於這個可能性有多少,管他呢!原諒我本身就是一個不喜歡把公司的項目運行在自己筆記本上的心態。
晚上11點左右接到項目主管確認出差的電話,具體在哪兒,怎麼去,都沒說。僅僅說把項目部署到自己的筆記本上。得虧自己的開發環境和公司一樣,想想這應該花不了多長時間,項目匯入到MyEclipse ,將備份好的資料庫指令碼匯入到MySQL運行即可。但是,由於公司項目中的資料實在是太大了,光一個資料庫指令碼就200+M。指令碼中包含資料庫結構和客戶的業務資料。很多人都認為,公司的業務資料怎麼能隨便備份,小公司,別太在意這些小問題。
在運行SQL指令碼過程中,出現了這樣的錯誤:ERROR : (2006, ‘MySQL server has gone away‘)。在網上查了下,其實網友還是比較靠譜的。根據網友提供的出現該問題的原因,自認為是由於長時間執行批量的MySQL語句,SQL已耗用時間長,insert 插入資料比較多,傳送的資料太大引起的,最常見的原因是採集或新舊資料的轉化。事實證明自己是對的。
為了簡便,直接在dos命令列下進行的操作。
>show global variables like ‘%timeout‘; >set wait_timeout=2880000; >set interactive_timeout=2880000; >show global variables like ‘max_allowed_packet‘; >set global max_allowed_packet=1024*1024*16;
然後source d.sql;再次進行備份,順利解決,不會再出現以上問題。
itRed 部落格:http://itred.cnblogs.com GitHub:https://github.com/itRed著作權聲明:本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段說明, 且在文章明顯位置給出原文連結,否則保留追究法律責任的權利。 |
總結個關於MySQL資料庫的問題