![mySQL 未读取 max_connections 配置](https://linux22.com/image/1150609/mySQL%20%E6%9C%AA%E8%AF%BB%E5%8F%96%20max_connections%20%E9%85%8D%E7%BD%AE.png)
我正在尝试更改在 Ubuntu 16.04 服务器上运行的 mysql 实例的 max_connections 配置。我尝试将此配置放在...
[mysqld]
max_connections = 400
...已在以下文件中:/etc/my.cnf
,,,。/etc/mysql/my.cnf
/etc/mysql/mysql.conf.d/mysqld.cnf
/etc/mysql/conf.d/mysql.cnf
我还添加了以下几行/etc/apparmor.d/usr.sbin.mysqld
并重新启动了 apparmor:
/etc/mysql/mysql.conf.d/* rl,
/etc/mysql/conf.d/* rl,
尽管如此,每次我重新启动 mysql 服务时,都会从以下查询中得到值 214:
show global variables like "max_connections";
mysql 版本是mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
。
我错过了什么?
答案1
在 Ubuntu 16.04 中,MySQL 服务的限制在 Systemd 配置文件中定义。要强制 MySQL 读取 mysqld.cnf 中定义的值,请编辑服务配置:
sudo systemctl edit mysql.service
添加以下行然后保存文件:
[Service]
LimitNOFILE=infinity
重启服务:
sudo systemctl daemon-reload
sudo systemctl restart mysql.service
MySQL 现在应该使用配置文件中定义的值。