客户端使用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
也可以在这里帮助。