以防万一这可以帮助任何人:
当我在应用程序的多个部分中调用的函数中打开和关闭连接时,出现此错误。我们有太多的连接,因此我们认为最好重用现有的连接或将其丢弃并创建一个新的连接,如下所示:
public static function getConnection($database, $host, $user, $password)
{
if (!self::$instance) {
return self::newConnection($database, $host, $user, $password);
} elseif ($database . $host . $user != self::$connectionDetails) {
self :: $ instance-> query('KILL CONNECTION_ID()'); self :: $ instance = null; 返回self :: newConnection($ database,$ host,$ user,$ password); } return self :: $ instance; }事实证明,我们对终止的处理过于彻底,因此在旧连接上执行重要操作的流程永远无法完成其业务。所以我们删除了这些行
self::$instance->query('KILL CONNECTION_ID()');
self::$instance = null;
并且由于机器的硬件和设置允许,我们通过添加增加了服务器上允许的连接数量
max_connections = 500
到我们的配置文件。这现在解决了我们的问题,我们了解了有关终止mysql连接的知识。