max_user_connections选项是一个限制,不是对服务器实例中的并发连接总数施加限制,而是对单个用户帐户施加限制。
假设用户叫db_user@localhost
。您可以通过运行以下查询来找出该用户的连接限制:
SELECT max_user_connections FROM mysql.user
WHERE user='db_user' AND host='localhost';
如果这是一个非零值,请使用以下命令将其更改回:
GRANT USAGE ON *.* TO db_user@localhost WITH MAX_USER_CONNECTIONS 0;
要么
UPDATE mysql.user SET max_user_connections = 0
WHERE user='db_user' AND host='localhost';
FLUSH PRIVILEGES;
这将导致mysqld
允许用户db_user@localhost
使用全局设置max_user_connections作为其限制。
到此为止,现在使用
SHOW VARIABLES LIKE 'max_user_connections';
如果这是一个非零值,则需要做两件事
事情1:寻找设置/etc/my.cnf
[mysqld]
max_user_connections = <some number>
注释掉该行
第二件事:动态设置值
SET GLOBAL max_user_connections = 0;
无需重启MySQL。
警告
我以前讨论过这个设置
试试看 !!!