mysql的max_connections和Too many connections

      mysql中,max_connections表示最大连接数目, 可以修改(set GLOBAL max_connections = 3; 仅对mysql当前服务进程有效,如果mysql服务重启,则失效)。 我修改为3了, 如下:

mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 3     |
+-----------------+-------+
1 row in set (0.01 sec)

      可以, 我发现, 实际上可以连接4个, 如下:

mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 0     |
| Threads_connected | 4     |
| Threads_created   | 4     |
| Threads_running   | 1     |
+-------------------+-------+
4 rows in set (0.00 sec)

mysql> 

       这是什么原因呢?MySQL会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了max_connections。因此最大可连接数为max_connections+1, 所以可以有4个连接。继续增加连接, 会怎样呢?

ubuntu@VM-0-15-ubuntu:~$ sudo mysql -u root
ERROR 1040 (HY000): Too many connections
ubuntu@VM-0-15-ubuntu:~$ 

      恩, 符合预期。

 

 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值