在使用MySQL的过程中,应用程序有时会碰到错误:
Error 1040 Too many connections
这个错误表示,已经达到MySQL的最大连接数。
什么是MySQL的最大连接数?
1.最大连接数的定义
max_connections
是指MySQL 同时处理的连接的最大数量。
更确切一些,是指MySQL同时处理的连接数量。这些连接,包括正在建立的连接,已建立的连接, 以及正在断开的连接。
已通过简单demo验证。
默认的最大连接数是151,
如果希望更大的连接数,可以将max_connections
调整为更大值。
但更大的连接数,也意味着,更大的内存占用。
实际上的最大连接数是max_connections+1
.
有一个连接是预留的,只有SUPER权限的用户才可以使用。
SUPER权限的用户可以使用这个连接,登录MySQL诊断问题。
2.最大连接数的查看和修改
最大连接数的查看
mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.08 sec)
最大连接数的修改
使用超级用户登录,进行修改:
SET GLOBAL max_connections = 300;
这个修改只是临时的,下次MySQL重启后,又恢复默认值。
配置文件中修改,永久生效:
vi /etc/my.cnf
[mysqld]
max_connections = 300
修改配置后,重启MySQL Server后生效。