我正在尝试用PHP调试问题,我想我发现了一个可能的罪魁祸首。 Mysql已中止连接。
mysql日志中是否有任何内容可以帮助我查明连接被丢弃的位置/原因? (我有单独的DB + Web服务器)
mysql> SHOW GLOBAL STATUS;
+------------------------------------------+--------------+
| Variable_name | Value |
+------------------------------------------+--------------+
| Aborted_clients | 150 |
| Aborted_connects | 86496 |
答案 0 :(得分:3)
Aborted_connects
是attempt to connect and fail的客户。通常这是因为凭据不正确(密码错误或用户没有匹配的主机)。
我首先打开--log-warnings
as mentioned in the documentation并检查错误日志,以帮助找到频繁连接失败的罪魁祸首。
尝试连接无效或格式错误的连接字符串的客户端也可能导致中止连接。例如,某些监控应用程序只是检查mysql端口的连接并可以触发它。 This blog post有一些使用数据包级别监控来尝试查明问题的示例。
Aborted_clients
是未正确关闭连接的客户端。 PDO和MySQLi都提供了在脚本连接完成时正确关闭脚本连接的方法。