如何判断是否有任何MySQL连接已被删除或超时?

客户端使用PHP连接到MySQL。 PHP脚本和MySQL数据库位于2台不同的Linux服务器上。 他抱怨数据库连接正在丢失或超时,并要求我看看。

在MySQL中有什么地方可以告诉我什么和有多less连接被丢弃或超时? 我看着慢查询日志,没有看到任何东西。

有关如何诊断这个丢失/超时的数据库连接问题的任何build议?

谢谢

编辑:

my.cnf启用慢查询日志:

 log-slow-queries=/var/log/mysql-slow-queries.log 

当我做一个

 mysql> show global status; 

我有:

 | Slow_queries | 11402347 | 

所以有很多缓慢的查询。 但文件/var/log/mysql-slow-queries.log不存在。 这是为什么?

慢查询日志文件必须存在,并且必须由mysql用户写入。 在标准的MySQL安装,我会做:

 touch /var/log/mysql-slow-queries.log chown mysql.mysql /var/log/mysql-slow-queries.log 

然后重新启动mysql。

如果您将缓慢的日志文件设置为具有足够权限的特定目录(即/var/log/mysql/slow.log),则MySQL将自行创build日志文件:

 mkdir /var/log/mysql chown mysql.mysql /var/log/mysql 

你有没有启用你的慢查询日志? 它是空的还是它的工作?

通常,由于性能原因,慢查询日志已closures,您可以根据需要启用它以进行debugging。

您可以尝试使用新的MySQL Workbench。 使用Workbench中的MySQL Administrator,您可以在列表中查看工具中的所有打开的连接。 它非常有助于查看您的连接,并在短时间内pipe理和监视您的服务器。

其他的方法是采取MySQL的声明:

显示进程列表;

这显示您正在运行的查询,你可以看到挂什么。

也许我可以帮你。 对于慢查询日志,您可以在MySQL网站或这里获得更多信息

mysqladmin extended-status|head也可以在这里帮助。