0

我面临着一个非常奇怪的问题。

我正在尝试将用户连接到我的 mysql 5.5 实例,但它一直对我说用户已经超过了 max_user_connections

ERROR 1226 (42000): User 'xpto' has exceeded the 'max_user_connections' resource (current value: 100)

但,

show processlist

不显示该用户使用的任何连接。我很确定用户根本没有使用任何连接。例如,如果我将当前值增加到 110,我可以连接。然后,如果我降低我无法连接。

编辑:全球连接使用量为 500,只有少数(10/20)被使用。

有什么线索吗?

4

2 回答 2

1

服务器已经有太多打开的连接。MySQL 服务器在拒绝允许更多连接之前只能处理特定数量的打开连接,并且该限制在服务器的所有用户之间共享。它通常设置得相当高,尽管某人很容易通过建立大量连接来有效地对 MySQL 服务器进行 DoS。

如果您收到错误消息(代码 1226)表明整个 MySQL 服务器已用完连接槽 - 这是 DoS 场景。

  1. 您的数据库必须有一个用户“A”,您使用该用户配置了您的 wordpress 博客。
  2. 现在的问题是用户'A'已经超出了maximum_questions资源(当前值:40)
  3. wp-config.php通过您的域控制面板在您的数据库中创建一个新用户“B”,并更新您在 wordpress 安装目录中归档的相同用户名。
  4. 现在您可以在几分钟内解决问题。它不会干扰数据库或您在 wordpress 或 phpbb 中的帖子。

复制自神经网络博客

于 2012-07-12T17:38:28.517 回答
0

你在 MySQL 5 上,并且你设置了用户的 MAX_USER_CONNECTIONS,并且用户最近断开了连接?

来自 MySQL文档

对于 MAX_USER_CONNECTIONS 限制,如果帐户当前已打开允许的最大连接数,则可能会发生边缘情况:如果服务器未完全处理连接,则快速断开连接可能会导致错误(ER_TOO_MANY_USER_CONNECTIONS 或 ER_USER_LIMIT_REACHED)在连接发生时断开连接。当服务器完成断开连接处理时,将再次允许另一个连接。

于 2012-07-12T18:39:45.007 回答