2011-09-13 102 views
5

當我試圖使用轉儲建立一個MySQL數據庫,我得到了以下錯誤消息配置MySQL服務器,以避免「MySQL服務器已經走了」錯誤

ERROR 2006 (HY000) at line 312: MySQL server has gone away 

廣泛的谷歌搜索後(在此論壇搜索),我發現我必須增加my.ini文件中的max_allowed_packet。我已經嘗試過這個參數的各種值(包括非常大的值),但我無法擺脫這個錯誤。

即使我指定要在命令行中--max_allowed包選項(如下)有沒有用

C:\Users\Panora>mysql --user=root --password=root --max-allowed-packet=600M db < dump.sql 
ERROR 2006 (HY000) at line 50973: MySQL server has gone away 

我試着用下面的命令創建轉儲文件,仍然沒有用

mysqldump --opt --skip-extended-insert --max_allowed_packet=10M --user=root --password=root db > dump.sql 

請指教我,我真的很想念。

+1

當你打開一個到MySQL數據庫的連接,通常會出現此錯誤信息,把它閒置了很長的時間,然後再嘗試使用再次連接。你能發佈一些產生這個錯誤的代碼或命令行命令嗎? – Asaph

+0

http://www.webyog.com/blog/2009/08/10/mysql-server-has-gone-away-part-1-max_allowed_pa​​cket/還有一件你必須做的事 - 你是否重新開始服務器增加my.ini文件中的max_allowed_pa​​cket之後? ;-) –

+1

檢查錯誤日誌中的確切錯誤描述。 「MySQL服務器已經消失」並沒有告訴我們什麼。 – sanmai

回答

6

經過大量的分析,我發現,舊方法簡單有效,是的,編輯my.ini的配置文件。

但實際的問題是找到my.ini文件(在Windows Vista上的MySQL V5.5),這是在以下位置,此文件夾(不象以前版本),默認是隱藏的

C:\ProgramData\MySQL\MySQL Server 5.5\my.ini 

(小心注意名字,這不是程序文件,但ProgramData)

+1

你是一個拯救生命的人! :) –

0

如果你不在linux系統中,就像我假設的那樣:「C:\ Users \ Panora」,你需要檢查你的mysql.ini配置。你有沒有想過要做大的轉儲的內存量?你是否嘗試了手術的暫停?

並請查看Windows上的mysql服務的配置,使用的開始/運行/ SERVICES.MSC