2014-01-08 36 views
2

连接我有经典many connections错误在我的MySQL应用程序:如何跟踪在MySQL

exception 'PDOException' with message 'SQLSTATE[HY000] [1129] Host 
'[IP ADDRESS]' is blocked because of many connection errors; unblock 
with 'mysqladmin flush-hosts'' in /var/www/libs/Database.php:15 

有大量写是什么原因导致,以及如何通过增加限制来解决这个问题,但我还没有能够确定的是如何调试我的代码。我宁愿关闭连接,而不是使用负载。

有什么方法可以查询MySQL来确定连接来自哪里以及它们已经打开了多久?

+1

http://stackoverflow.com/questions/7432241/mysql-show-status-active-or-total-connections也许这会有所帮助 –

+1

'show processlist;' –

+0

可能的重复[如何查看实时MySQL查询?](http://stackoverflow.com/questions/568564/how-can-i-view-live-mysql-queries) –

回答

1
show processlist 

从MySQL CLI这将显示您正在运行的进程列表中,哪些命令他们正在运行,什么IP地址他们是从连接。

0

您可以使用“SHOW PROCESSLIST;”查询来检查MySQL服务器上当前正在运行的线程,但如果您有多个服务器,这可能是一项非常繁琐的任务。我有14台MySQL服务器,并监控闲置连接,并将它们杀死是主要问题之一,整个过程非常耗时。我使用Monyog监控工具,它具有专用的线程功能,它可以在单个视图中显示所有服务器上的当前连接,并在每秒钟后自动刷新。这使得这项任务很容易处理。此外,它还提供了一个选项,可从其GUI中终止连接,并提供不同的过滤选项。