数据库当前的连接线程数threads_connected。该参数是动态变化的。
如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,前端会话就不能建立新的连接了。
如何修改max_connections呢?
方法1.在会话中修改
直接通过mysql工具在MySQL中修改最大连接数,步骤如下:
查询当前的会话参数:mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1024 |
+-----------------+-------+
1 row in set (0.00 sec)
执行命令进行参数修改:
mysql> set global max_connections=10240;
Query OK, 0 rows affected (0.00 sec)
再次执行命令看参数是否修改过来了:
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 10240 |
+-----------------+-------+
1 row in set (0.00 sec)
至此,在会话中最大会话连接数就已经修改为10240.
注:这种方式参数只是记录在内存中,重启MySQL数据库服务后,更改不会保留。
方法2 在my.conf 参数中修改
通过修改my.cnf配置,服务器重启后生效,具体步骤如下:# cat /etc/my.cnf | grep max_connections
max_connections =1024
#
# vim /etc/my.cnf
将参数修改为:
max_connections =10240
修改后,确认参数已经修改了:
# cat /etc/my.cnf | grep max_connections
max_connections =10240
然后重启MySQL服务器,使参数生效:
# service mysqld restart
注:这种方法需要重启数据库才可以,所以一定要注意数据库是否可以重启后,再决定是否用这个方法。
这种参数修改的方法比较彻底,参数写入配置文件,修改会一直保留。