1、设置最大连接数
修改mysql客户端最大连接数可以通过两种方式,一种是使用命令设置,另一种是直接修改my.cnf文件,本文写作基于mysql5.7。
$ mysql -V
mysql Ver 14.14 Distrib 5.7.30, for Linux (x86_64) using EditLine wrapper
(1)使用命令设置
使用命令设置这种方式是临时修改,只能治标不能治本,在这个mysql服务不重启的条件下是可用的,若mysql重启会恢复到mysql默认的连接数(或者恢复到my.cnf文件中配置的最大连接数)。
# 若因达到最大连接数导致mysql服务不可用,则需重启mysql服务,如果起不来只能重启机器。反之,直接登录mysql即可。
service mysqld restart
# 重新登录mysql
mysql -uroot -p
# 查看当前mysql最大连接数限制(未改过默认151)
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.00 sec)
# 设置最大连接数
mysql> set global max_connections=1000;
Query OK, 0 rows affected (0.00 sec)
#再次确认
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
1 row in set (0.00 sec)
mysql> exit
(2)修改my.cnf文件参数
mysql重启后会优先使用my.cnf配置文件中的配置,用第一种方法修改后,若重启mysql服务,则还是会回到my.cnf文件中配置的最大连接数(或者默认值)。
# 修改my.cnf文件,在文件中加入如下属性
$ vi /etc/my.cnf
max_connections=1000
# 重启mysql服务
$ service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
# 用户名密码登录
$ mysql -uroot -p
$ mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
1 row in set (0.00 sec)
2、max_connections参数说明
max_connections参数详情信息如下表
Property | Value |
---|---|
Command-Line Format |
|
System Variable |
|
Scope | Global |
Dynamic | Yes |
Type | Integer |
Default Value |
|
Minimum Value |
|
Maximum Value |
(理论值) |
max_connections参数
官方说明
官方文档中讲linux
一般
能支持500-1000个并发连接。要注意的是,mysql5.7支持可配置的最大连接数并不是一个确定值(比如官方给的),具体界定还需要参考以下几个因素:
1. 所用平台的线程库的质量
2. 内存的可用量
3. 每个连接所需要的内存量
4. 每个链接的工作负载。
5. 所需的响应时间
6. 可用的文件描述符(linux)的数量
版权声明:本文为Myuhua原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。