MySQL Server 断开连接问题:超时后 60 秒断开连接
问题:
我发现一个以前运行正常的 SQL 查询现在在 60 秒后超时并抛出错误。尽管查询很慢,但它是作为一项夜间作业的一部分运行的,因此它本身并不是问题(所以请不要建议我优化它)。
通过从 PHP 运行 "select SLEEP(120);",我可以一直重现该错误,如下所示。然而,从 MySQL 客户端运行相同语句是成功的(返回 0)。我尝试调整 wait_timeout(设置为 28800),但没有成功。我还重新启动了数据库服务器和计算机本身。
我总是超时刚好 60 秒,这让我认为它可能是设置问题,而不是资源受限问题。
我正在运行:
以下是我的测试代码、输出和 SHOW VARIABLES 的结果。
... 代码、输出和 SHOW VARIABLES 如下所示 ...
答案:
php 选项 mysql.connect_timeout 是导致此问题的原因。它不仅用于连接超时,也用于等待来自服务器的第一个响应。你可以这样增加它:
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
以上是mysql.connect_timeout PHP 选项是否导致 MySQL 服务器连接在 60 秒后超时?的详细内容。更多信息请关注PHP中文网其他相关文章!