关键词搜索

源码搜索 ×
×

mysql的max_connections和Too many connections

发布2018-01-05浏览6807次

详情内容

      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:~$ 

      恩, 符合预期。

 

 


 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载