mysql最大连接数试验

一、试验基础环境配置

1、查看当前数据库的最大连接数

mysql> show global variables like '%connect%';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| character_set_connection | utf8            |
| collation_connection     | utf8_general_ci |
| connect_timeout          | 10              |
| init_connect             |                 |
| max_connect_errors       | 10              |
| max_connections          | 160             |
| max_user_connections     | 0               |
+--------------------------+-----------------+
7 rows in set (0.00 sec)

2、设置全局变量max_connections为3(基于试验目的,做测试)

mysql> set global max_connections=3;
Query OK, 0 rows affected (0.01 sec)

3、查看设置是否生效.max_connections已经设置为3.

mysql> show global variables like '%connect%';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| character_set_connection | utf8            |
| collation_connection     | utf8_general_ci |
| connect_timeout          | 10              |
| init_connect             |                 |
| max_connect_errors       | 10              |
| max_connections          | 3               |
| max_user_connections     | 0               |
+--------------------------+-----------------+
7 rows in set (0.00 sec)

 4、退出当前登陆,再次登陆查看是否生效.

mysql> exit
Bye

C:UsersArcerZhang>mysql -uroot -parcerzhang
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.5.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> show global variables like '%connect%';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| character_set_connection | utf8            |
| collation_connection     | utf8_general_ci |
| connect_timeout          | 10              |
| init_connect             |                 |
| max_connect_errors       | 10              |
| max_connections          | 3               |
| max_user_connections     | 0               |
+--------------------------+-----------------+
7 rows in set (0.00 sec)

 二、查看当前数据库连接数

mysql> use arcerzhangdb;
Database changed
mysql> show processlist;
+----+------+-----------------+--------------+---------+------+-------+------------------+
| Id | User | Host            | db           | Command | Time | State | Info             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
|  3 | root | localhost:53232 | arcerzhangdb | Query   |    0 | NULL  | show processlist |
+----+------+-----------------+--------------+---------+------+-------+------------------+
1 row in set (0.00 sec)

 三、分别打开第二个、第三个、第四个、第五个CMD窗口登录数据库

C:UsersArcerZhang>mysql -uroot -parcerzhang
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.5.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> use arcerzhangdb;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_arcerzhangdb |
+------------------------+
| inno_tab               |
| t                      |
| t_myisam               |
| tablespace_test        |
| tt                     |
| ttt                    |
+------------------------+
6 rows in set (0.00 sec)

mysql> desc t;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   | PRI | 0       |       |
| name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.12 sec)
打开第二个窗口
mysql> show processlist;
+----+------+-----------------+--------------+---------+------+-------+------------------+
| Id | User | Host            | db           | Command | Time | State | Info             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
|  3 | root | localhost:53232 | arcerzhangdb | Query   |    0 | NULL  | show processlist |
|  4 | root | localhost:53251 | arcerzhangdb | Sleep   |    6 |       | NULL             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
2 rows in set (0.00 sec)
查看数据库连接
C:UsersArcerZhang>mysql -uroot -parcerzhang
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.5.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> use arcerzhangdb;
Database changed
mysql> select * from tt;
+------+------+
| id   | msg  |
+------+------+
|    1 | a    |
|    2 | b    |
|    3 | c    |
|    4 | d    |
|    5 | e    |
| 1000 | f    |
+------+------+
6 rows in set (0.06 sec)

mysql>
打开第三个窗口
mysql> show processlist;
+----+------+-----------------+--------------+---------+------+-------+------------------+
| Id | User | Host            | db           | Command | Time | State | Info             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
|  3 | root | localhost:53232 | arcerzhangdb | Query   |    0 | NULL  | show processlist |
|  4 | root | localhost:53251 | arcerzhangdb | Sleep   |   43 |       | NULL             |
|  5 | root | localhost:53264 | arcerzhangdb | Sleep   |    5 |       | NULL             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
3 rows in set (0.00 sec)
查看数据库连接
C:UsersArcerZhang>mysql -uroot -parcerzhang
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 6
Server version: 5.5.28 MySQL Community Server (GPL)

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> use arcerzhangdb;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_arcerzhangdb |
+------------------------+
| inno_tab               |
| t                      |
| t_myisam               |
| tablespace_test        |
| tt                     |
| ttt                    |
+------------------------+
6 rows in set (0.00 sec)

mysql> select * from ttt;
+----+------+
| id | msg  |
+----+------+
|  1 | a    |
+----+------+
1 row in set (0.07 sec)

mysql>
打开第四个窗口
mysql> show processlist;
+----+------+-----------------+--------------+---------+------+-------+------------------+
| Id | User | Host            | db           | Command | Time | State | Info             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
|  3 | root | localhost:53232 | arcerzhangdb | Query   |    0 | NULL  | show processlist |
|  4 | root | localhost:53251 | arcerzhangdb | Sleep   |   97 |       | NULL             |
|  5 | root | localhost:53264 | arcerzhangdb | Sleep   |   59 |       | NULL             |
|  6 | root | localhost:53274 | arcerzhangdb | Sleep   |    5 |       | NULL             |
+----+------+-----------------+--------------+---------+------+-------+------------------+
4 rows in set (0.00 sec)
查看数据库连接
Microsoft Windows [版本 10.0.10586]
(c) 2015 Microsoft Corporation。保留所有权利。

C:UsersArcerZhang>mysql -uroot -parcerzhang
ERROR 1040 (HY000): Too many connections

C:UsersArcerZhang>
打开第五个窗口

四、结论

第一个连接窗口为初始窗口,或者说叫做监控窗口.

第二个连接窗口应该算是我们设置max_connections=3后第一个真正意义上的连接用户.

第三个连接窗口应该算是我们设置max_connections=3后第二个真正意义上的连接用户.

第四个连接窗口应该算是我们设置max_connections=3后第三个真正意义上的连接用户.

所以当打开第五个窗口的时候,会报如下错误:

C:UsersArcerZhang>mysql -uroot -parcerzhang
ERROR 1040 (HY000): Too many connections
原文地址:https://www.cnblogs.com/arcer/p/5559198.html