MySQL服务器已关闭。

3

我正在尝试使用一个查询插入50000行数据,因此服务器崩溃了。我已经尝试更改max_allowed_packet,但没有改变。请问有什么建议吗?

提前致谢。


你的意思是它要消失了吗?像是卡住了吗? - Igor
2
哇,服务器消失了?你是说你的服务器机架上有一个洞,电线悬挂着?这还是头一回 :) - Marplesoft
请确保您遵守此处列出的所有可能原因: MySQL gone away 原因 - ajreal
2
"mysql服务器已断开连接"是实际的错误信息,对于那些不熟悉MySQL的人来说。 - Brad Mace
1
那是一个看起来像喝了太多咖啡而又没有休息好的人写出来的错误信息。 - spender
@bemace 我知道,但这仍然很有趣 :) - Marplesoft
4个回答

1

你检查过mysql的wait_timeout时间了吗?此外,你用什么工具导入记录(脚本、SQL编辑器、命令行)?例如,PHP使用在php.ini中设置的自己的connect_timeout,这可能会导致你看到的错误。


我正在尝试使用SQL编辑器运行脚本。我还没有检查超时时间。请告诉我如何设置超时时间; - Novice
什么是编辑器?它们中的许多都有自己的超时设置。 - Parris Varney
也许这个链接会有帮助:http://www.sqlmanager.net/products/mysql/manager/documentation/hs4420.html - Parris Varney

1

可能是由于构建查询花费了太长时间而导致服务器因超时而断开连接,或者传输时间过长导致服务器认为出现了错误。最好的方法可能是将插入操作分成每组25-100条记录。


啊,这会花费很长时间。因为我总共有100万条记录,分成了50000个一组。 - Novice
当使用Perl或PHP脚本加载数据时,对我来说,使用包含25-100条记录的插入语句比尝试一次性加载所有记录更快。你的情况可能不同,请自行进行基准测试。 - Brad Mace

1

在那里查找wait_timeout和一些mysql_ping以及其他几个建议。


1

我在my.ini中设置了max_allowed_packet = 64并重新启动了服务器。现在它工作正常。感谢大家的帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接