1040在php-pdo中连接太多异常

7kjnsjlb  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(347)

这是我的 Database.php . 当我进入我的网站时,它会显示一个
1040 too many connection Pdo 例外。

class Database extends \PDO
{

    public function __construct($dsn, $usr = null, $pwd = null, array $options = array())
    {
        $options = $options + $this->getDefaultOptions();
        @parent::__construct($dsn, $usr, $pwd, $options);
    }

    protected function getDefaultOptions()
    {
        return array(
            \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
            \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
            \PDO::ATTR_EMULATE_PREPARES => false,
            \PDO::ATTR_STATEMENT_CLASS => array('Slim\\PDO\\Statement', array($this)),
            );
    }

   /**
    * @param array $columns
    *
    * @return SelectStatement
    */
    public function select(array $columns = array('*'))
    {
        return new SelectStatement($this, $columns);
    }

   /**
    * @param array $columnsOrPairs
    *
    * @return InsertStatement
    */
    public function insert(array $columnsOrPairs = array())
    {
        return new InsertStatement($this, $columnsOrPairs);
    }

   /**
    * @param array $pairs
    *
    * @return UpdateStatement
    */
    public function update(array $pairs = array())
    {
        return new UpdateStatement($this, $pairs);
    }

   /**
    * @param null $table
    *
    * @return DeleteStatement
    */
    public function delete($table = null)
    {
        return new DeleteStatement($this, $table);
    }
}
mysqli_close();
des4xlb0

des4xlb01#

如果在尝试连接到mysqld服务器时出现过多连接错误,这意味着所有可用的连接都被其他客户端使用。
允许的连接数由max\ U connections系统变量控制。其默认值为100。如果您需要支持更多的连接,应该为这个变量设置一个更大的值。
https://dev.mysql.com/doc/refman/8.0/en/too-many-connections.html
以下是可能的解决方案:
1) 通过在mysql中设置全局变量来增加max connection设置。
设置全局最大连接数=2000;
注意:这会增加服务器负载。
2) 清空连接池,如下所示:
冲洗主机;
3) 检查你的进程列表,如果你不想要任何一个,就删除特定的进程列表。
http://www.easysolutionweb.com/mysql-tutorials/how-to-deal-with-too-many-connections-error-in-mysql?stack

相关问题