MySQL 服务器已消失 - 意外超时问题
执行长时间运行的查询(120 秒睡眠)时,用户遇到了进程失败并显示错误消息“MySQL 服务器已消失”的问题。这会在 60 秒后发生。 Windows Server 2003 和 MySQL 5.1.36-community 上均存在该问题。
故障排除步骤
用户已尝试各种故障排除措施,包括将 wait_timeout 设置调整为28800 秒并重新启动数据库服务器和计算机。尽管做出了这些努力,超时错误仍然存在。
可能的原因
问题似乎与设置有关,而不是资源短缺,因为超时始终发生在60秒
解决方案
问题源于PHP选项mysql.connect_timeout。虽然其主要目的是指定连接超时,但它还确定第一次服务器响应所允许的时间。要解决此问题,用户需要增加此超时值,如下所示:
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
通过将这些值设置为 300 秒(5 分钟),系统在超时之前等待服务器响应的时间更长。这使得长时间运行的查询能够成功完成。
以上是为什么我的长时间运行的 MySQL 查询会在 60 秒后出现'MySQL 服务器已消失”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!