通过设置MAX_USER_CONNECTIONS参数可限制MySQL用户并发连接数,创建用户时使用CREATE USER指定上限,如:'myuser'@'localhost' MAX_USER_CONNECTIONS 5;已存在用户可通过ALTER USER修改限制,如改为3个连接;通过查询mysql.user表验证配置,需执行FLUSH PRIVILEGES刷新权限;当连接数超限时,用户将收到错误1226,无法新建连接;推荐在用户级别设置而非全局,以实现精细化资源控制。

在 MySQL 中限制用户并发连接数,可以通过设置用户级别的最大连接数来实现。从 MySQL 5.5.3 版本开始,支持使用 资源控制 功能,通过 CREATE USER 或 ALTER USER 语句中的 MAX_USER_CONNECTIONS 参数来限制某个用户的最大并发连接数量。
示例:创建一个最多允许 5 个并发连接的用户:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass' MAX_USER_CONNECTIONS 5;
ALTER USER 命令修改其最大连接数。
示例:将用户 myuser@localhost 的最大并发连接数改为 3:
ALTER USER 'myuser'@'localhost' MAX_USER_CONNECTIONS 3;
mysql.user 表来查看用户的连接限制配置。
执行以下 SQL 查看指定用户的设置:
SELECT User, Host, Max_user_connections FROM mysql.user WHERE User = 'myuser';
FLUSH PRIVILEGES;
MAX_USER_CONNECTIONS 限制时,后续的连接请求会收到类似如下错误:
ERROR 1226 (42000): User 'myuser' has exceeded the 'max_user_connections' resource limit
每个连接独立计数,包括来自同一客户端的不同会话。这个限制是“每用户”的,并不依赖于主机或其他因素(除非在定义用户时指定了不同的 host)。
max_user_connections 已正确配置(默认值为 0,表示无限制)。
可以在 my.cnf 配置文件中设置默认值(可选):
[mysqld] max_user_connections=100
基本上就这些。只要用好 MAX_USER_CONNECTIONS,就能有效控制单个用户的并发连接数量,避免数据库被某个用户过度占用资源。
以上就是如何在mysql中限制用户并发连接数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号