MySQL 配置文件my.cnf添加max_connections不生效

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jeikerxiao/article/details/86669935

MySQL 配置文件my.cnf添加max_connections不生效

问题描述

最近为了方便测试,增加测试环境数据库,通过MySQL官方指定的yum源安装了mysql5.6.42,开发在连接MySQL数据库时出现 too many connections,知道是默认的214连接数太少。

于是在任务器上修改MySQL的配置文件/etc/my.cnf添加max_connections=1000后,重启mysql后发现不生效,但是如果通过交互端的命令行可以设定。

查看当前max_connections

show variables like 'max_connections';

输出:

Varibale_name Value
max_connections 214

测试环境:

  • CentOS 7.2
  • MySQL 5.6.42

测试发现:

如果通过官方给定的yum源安装:

max_connection默认值 在my.cnf中最大可调值 命令行set方式
151 214 正常期望值

如果通过官方的下载的rpm包安装:

max_connection默认值 在my.cnf中最大可调值 命令行set方式
151 正常期望值 正常期望值

此次发现就测试了这两种方法,可能比较局限,但以下设定也能解决当前问题。

解决办法

如果采用的是yum源安装,至少需要修改一个地方:

1.添加LimitNOFILE=65535至mysql服务文件mysqld.service中的[Service]段下面(必选项):

1.1 修改MySQL服务文件

echo "LimitNOFILE = 65535" >>  /usr/lib/systemd/system/mysqld.service

1.2 重新加载

systemctl  daemon-reload

1.3 编辑MySQL配置文件

vim /etc/my.cnf

[mysqld]下面添加:

max_connections=1000

1.4 重启MySQL

systemctl restart mysqld

2.在系统级别修改mysql打开最大文件数(非必选项,最好修改)

2.1 编辑系统配置文件:

vim /etc/security/limits.conf

在文件中增加如下:

mysql hard nofile 65535
mysql soft nofile 65535

2.2 重启系统

reboot

然后就可以在/etc/my.cnf中修改较大值的max_connections

猜你喜欢

转载自blog.csdn.net/jeikerxiao/article/details/86669935