Centos 7.X mariadb 最大连接数修改方法
最近在安装OpenStack Pike版本的时候,发现经常发生DB连接数不够的错误。 百度之,网上的大部分方法都是错误的。现分享下正确的设定方法。
日志中错误信息如下:
pymysql.err.OperationalError) (1040, u'Too many connections')
1) 修改 /etc/my.cnf.d/openstack.cnf配置文件。如果没有则创建。
# vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address={local_mgmt_ip} # 本地管理网ip地址
default-storage-engine= innodb
innodb_file_per_table
collation-server= utf8_general_ci
character-set-server= utf8
max_connections= 100000
2) 重启 mariadb服务。
#systemctl mariadb.service restart.
3) 查看配置是否生效。
# mysql -u root -p123456
>showvariables like 'max_connections';
4)由于linux系统对句柄数的限制,如果没有生效,则修改/usr/lib/systemd/system/mariadb.service 文件。
[Service]
Type=notify
User=mysql
Group=mysql
LimitNOFILE=100000 <- 增加
也可以不修改这个文件,在/etc/systemd/system/mariadb.service.d/目录下创建limits.conf,增加LimitNOFILE的配置。
# mkdir /etc/systemd/system/mariadb.service.d/
# vi /etc/systemd/system/mariadb.service.d/limits.conf
[Service]
LimitNOFILE=10000
5) 重启 mariadb服务。
# systemctl mariadb.service restart.
注: 本人部署环境OS版本,centos 7.3 。
mariadb-server版本: mariadb-server-10.1.20-2.el7.x86_64