Mysql中max_connections连接数设置后不生效,修改linux参数ulimit来解决
在my.conf中已配置max_connections = 2000,但仍不生效,经查原因是linux文件描述符只有默认的1024,通过修改ulimit参数来解决。
1.操作如下,操作完重新连接crt进入服务器(一般都有效),有时需要重启linux服务器
cat >> /etc/security/limits.conf << EOF
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
EOF
sed -i 's/^* soft nproc 4096$/* soft nproc 65536/' /etc/security/limits.d/20-nproc.conf
cat >> /etc/sysctl.conf << EOF
vm.max_map_count=655360
EOF
sysctl -p
2.如果改了后ulimit -n仍然是1024,采用终极办法
vim /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=65536
改这两条配置,然后重启一次服务器
改完linux参数配置后,再重启Mysql后,此时可看到max_connections = 2000生效了。