点击上方蓝字”运维笔谈”,对话回复 “阿里云k8s” 可以获取《阿里云Kubernetes项目实战手册》PDF
最近一段时间比较忙,耽搁更新了,本周开始恢复。我们本地办公环境有个分析库是用来同步生产环境过来的数据。我建了一个只读的账号给运营那边查询,我们默认的连接是有限制的,他们需要更多连接数,我一个业余数据库用户,修改MySQL的用户连接数限制还是查了一会儿资料。
在MySQL中,我们是可以通过设置 max_user_connections 变量来限制单个用户可以同时建立的连接数。这个设置可以在全局级别、用户级别或者会话级别进行配置。
1.直接在创建用户的时候指定连接数限制
#SQL
CREATE USER 'ops'@'192.168.%' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'ops'@'192.168.%' WITH MAX_USER_CONNECTIONS 20;
复制
MAX_USER_CONNECTIONS 20 表示ops这个用户最多只能有20个并发连接。
2.修改已经创建过的用户
# SQL
ALTER USER 'ops_old'@'192.168.%' WITH MAX_USER_CONNECTIONS 20;
复制
对于已存在的用户'ops_old'@'192.168.%',我们可以通过 ALTER USER
语句加上 WITH MAX_USER_CONNECTIONS
选项来修改其最大连接数。
3.全局配置
直接在MySQL的配置文件添加:
[mysqld]
max_user_connections = 20
复制
不过全局配置的模式会影响到所有的用户,非针对某个具体用户。
4.配置完成之后,我们查看下用户的连接数限制
我们可以直接查询mysql.user
表来查看特定用户的max_user_connections
值。如下SQL:
# SQL
SELECT User, Host, max_user_connections
FROM mysql.user
WHERE User = 'username' AND Host = 'host';
复制
注意不要过度的满足用户的连接数限制,放开容易影响数据库服务的稳定性的。
每个连接都会占用一定的内存资源。如果连接数过多,可能会耗尽服务器的可用内存,导致系统变得非常缓慢甚至崩溃。
处理大量连接会增加 CPU 的负载,尤其是在执行复杂查询或事务时。
文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1332次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
502次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
472次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
400次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
379次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
333次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
313次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
272次阅读
2025-03-28 16:28:31
墨天轮个人数说知识点合集
JiekeXu
246次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
245次阅读
2025-03-10 07:58:44