好吧,所以今天早上我收到了来 self 的 vbulletin 网站的大量自动邮件垃圾邮件,其中显示 mysql 错误
`Can't connect to MySQL server on '127.0.0.1'"
Too many connections
User username already has more than 'max_user_connections' active connections`.
我以前从未在我的主机上遇到过这种情况,我的两个网站上没有那么多访问者。一个运行 vbulletin 的网站每天有 300-700 次访问,而我的第二个网站是我自己建立的,所以这可能是连接保持开放的来源,我昨天开始为它做广告,但它也没有吸引很多访问者,所以我不不要认为只是连接的用户太多,我认为是连接保持打开状态或其他原因...
是否有某种方法可以找出其来源,或者连接保持打开时间过长的位置,或者任何信息实际上都会有所帮助。
谢谢
最佳答案
在 MySQL shell 中,您可以运行 show processlist;
,它将显示当前正在运行的进程、登录的用户、他们选择的数据库以及他们来自哪个主机。这可能会为您提供一些关于过度连接来源的线索。也许您会看到运行了很长时间的查询(结合不耐烦的用户反复点击刷新)。
请记住,如果您的任何代码使用持久连接运行,该列表中将会有一堆空闲进程,这在这种情况下是完全正常的。
关于MySQL 连接保持打开状态(我认为...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11504337/