CentOS7.4 修改mariadb数据库最大连接数

  • A+
所属分类:Zabbix

为什么修改这个?因为我zabbix-server日志报错,提示connection to database 'zabbix' failed: [1040] Too many connections错误,mariadb正常。想到应该是mysql最大连接数问题。

实时查看mariadb数据库连接数命令(Threads):

[root@localhost ~]# mysqladmin -uroot -p status
Enter password: 
Uptime: 1888  Threads: 615  Questions: 211118  Slow queries: 1  Opens: 189  Flush tables: 2  Open tables: 215  Queries per second avg: 111.820

1、查看默认最大连接数,默认是151

[root@localhost zabbix]# /usr/bin/mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 14872
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+
1 row in set (0.00 sec)

2、修改/etc/my.cnf配置文件
在[mysqld]新添加一行:

[root@localhost zabbix]# vi /etc/my.cnf
max_connections=1000

重启mariadb服务,并验证最大连接数(没显示我们修改的):

[root@localhost zabbix]# systemctl restart mariadb.service
[root@localhost zabbix]# /usr/bin/mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 446
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 214   |
+-----------------+-------+
1 row in set (0.00 sec)

3、配置/usr/lib/systemd/system/mariadb.service来调大打开文件数目。

[root@localhost zabbix]# vi /usr/lib/systemd/system/mariadb.service[Service]新加这两行:
LimitNOFILE=10000
LimitNPROC=10000

4、重新加载系统服务,并重启mariadb服务

[root@localhost zabbix]# systemctl --system daemon-reload
[root@localhost zabbix]# systemctl restart mariadb.service

5、重新验证下,是否为1000

MariaDB [(none)]> show variables like 'max_connections';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    5
Current database: *** NONE ***
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1000  |
+-----------------+-------+
1 row in set (0.00 sec)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: