2011-09-13 72 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