当碰到“ERROR 1040(HY000): Too many connections”报错信息时,就是说数据库的连接池已经满了,无法再建立更多的连接。

    1. 可以先检查一下MySQL的配置文件,my.cnf,里面有一个参数是max_connections,就是MySQL的最大连接数;
    2. 然后通过show variables like 'max_connections命令查看当前MySQL已建立的连接;
    3. 如果已连接数量小于设置的最大连接数量,就查看MySQL的启动日志,如果出现以下类似日志,则表示MySQL无法设置最大连接数为800,只能强制设置为214,因为底层Linux操作系统把进程可以打开的文件句柄数限制为了1024,导致MySQL最大连接数只能为214。

      1. Could not increase number of max_open_files to more than mysqld (request: 65535)
      2. Changed limits: max_connections: 214 (requested 2000)
      3. Changed limits: table_open_cache: 400 (requested 4096)
    4. 执行ulimit -HSn 65535,修改Linux限制的句柄数,然后重启MySQL。