问题描述

系统版本升级后,重启服务时,出现了too many connections错误导致连接失败,在向mysql的配置文件my.cnf添加max_connections=3600后,重启mysql后发现不生效,但是如果通过交互端的命令行设定的话,重启mysql后就失效了。

解决办法

如果采用的是yum源安装

至少需要修改一个地方:
添加LimitNOFILE=65535至mysql服务文件mysqld.service中的[Service]段下面必选项):

  1. # echo "LimitNOFILE = 65535" >> /usr/lib/systemd/system/mysqld.service
  2. # systemctl daemon-reload
  3. # vim /etc/my.cnf    // 添加max_connections = 期望值
  4. # systemctl restart mysqld

在系统级别修改mysql打开最大文件数(非必选项,最好修改)
在/etc/security/limits.conf末尾添加以下两行(需要reboot):

  1. mysql hard nofile 65535
  2. mysql soft nofile 65535

修改后重启服务器和mysql

注意:max_connections 一定要放在 [mysqld] 下面,如果不行就放在[mysqld] 下面第一个配置

  1. vi my.cnf 回车;打开文件后按“i”键进入编辑状态;
  2. 在“[mysqld]”下面添加“max_connections=1000”,按Esc键进入命令模式,输入“:wq”回车(保存并退出)。
  3. 重启服务器。