【问题标题】:MySQL: "Too many connections"?MySQL:“连接太多”?
【发布时间】:2022-05-13 21:17:14
【问题描述】:

我收到此错误:

警告: mysql_connect() [function.mysql-connect]: 太多 /home1/host/public_html/employee/message/config.php 中的连接 上线4

无法连接到数据库。连接过多

目前没有其他人在我的网站上。只有我一个。

我确实有很多 AJAX,但连接完成后会关闭。这就是为什么我不明白为什么我有一个too many connections 错误。

【问题讨论】:

  • 在 mysql 中执行show processlist;,查看活动连接。
  • 你知道服务器的连接限制是多少吗?
  • 如果不是其他用户充斥MySQL服务器,我首先想到的就是文件被多次包含。
  • @AdamWenger - 不。我忘了提到我在共享主机上。这可能是问题吗?但我很确定连接限制是针对每个帐户的,而不是针对整个服务器的。连接限制设置在哪里,所以我可以看到它? php.ini 文件?还是别的地方?
  • @Nican - 我只包含一次。实际上,我正在使用 require_once() 并且我只在页面上使用过一次。 (在顶部)我在共享主机上,但这从未发生过......

标签: mysql


【解决方案1】:

您可以尝试通过查询您的 MYSQL 来查看在您执行 AJAX 请求后连接是否正确关闭吗?

【讨论】:

【解决方案2】:

您是否使用网络服务器(IIS、Apache 等)?他们经常将连接池化并挂起一段时间以保持查询快速运行。如果是,请尝试重新启动您的网络服务器应用程序(在 IIS 中,开始 -> 运行“iisreset”),看看是否可以释放它。

【讨论】:

  • 我希望我能做到。但是我没有自己的服务器,我在主机上。它是一个 Apache Web 服务器。
  • 不知道要不要手动关闭与mysql_close()的连接?
【解决方案3】:

此问题是由于多个连接实例同时处于活动状态。 使用 Singleton 对象创建 Connection 对象。

【讨论】:

    【解决方案4】:

    确保在建立另一个连接之前关闭所有现有的数据库连接。使用代码$mysqlConnectionName->close();mysql_close($mysqlConnectionName); 来执行此操作

    【讨论】:

      【解决方案5】:

      我在使用的自定义框架中遇到了同样的问题。解决方案是为每个 http 请求创建一个连接(新的 mysqli)。

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2017-12-27
      • 2011-03-05
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 2010-11-15
      • 2020-01-24
      • 2017-10-29
      • 2014-09-08
      相关资源
      最近更新 更多