mysqli太多连接(HY000/1040)和(08004/1040)有区别吗?

ahm*_*afa 7 mysql mysqli

我的脚本中出现以下错误:

mysqli_connect(): (08004/1040): Too many connections 
mysqli_connect(): (HY000/1040): Too many connections
Run Code Online (Sandbox Code Playgroud)

有什么区别,我该如何解决这个问题?

Axe*_*hor 11

"Too many connections"表示您的脚本至少打开了一个与数据库的连接.基本上,对于一台服务器,只需要一个连接.获取此错误是服务器配置错误(我认为不是这种情况,因为最大连接=零不是一个选项)或脚本中的一些编程错误.

检查数据库连接的重新打开(mysqli_connect).每个脚本应该只有一个(!),通常你应该注意重用开​​放连接或在脚本执行后正确关闭它们(mysqli_close)


小智 6

解决该问题的步骤:

  1. 检查配置文件中的 MySQL 连接限制或my.cnf
  2. 运行以下命令来检查:

    mysql -e "show variables like '%connection%';"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 你会看到这样的:

    max_connections = 500
    
    Run Code Online (Sandbox Code Playgroud)
  4. 根据需要增加它:

    max_connections = 50000
    
    Run Code Online (Sandbox Code Playgroud)
  5. 重启MySQL服务:

    $ service MySQL restart
    
    Run Code Online (Sandbox Code Playgroud)

现在检查一下你的网站,希望不会出现错误!

谢谢你!