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

      恩, 符合预期。

 

 


 


本文转载:CSDN博客