技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> 控制mysql用户连接数据库数目

控制mysql用户连接数据库数目

浏览:1950次  出处信息

对于MySQL用户权限一般都喜欢用grant all privileges on huzi.* to ‘xxx’@'localhost’ identified by ‘xxx’ 来授权用户。之前由于程序的BUG 并发index.php就可以把数据库给弄死,由于程序是加密,也不提供太多技术支持,再笨的攻击者随便就可以让网站陷入瘫痪。官方提供的技术支持是rewrite  可是,弄了这个以后 后台登录发布广告又成了问题,真是垃圾程序 。那时候只有通过域名分开  访问www.xxx.com的用户通过iptables 的connlimit模块来限制并发连接数据库的数目。后来想想,Mysql自己应该也可以控制 用户的连接数目 ,大家 desc mysql.user 就可以看出来了,有两个参数 ,这两个可以针对global 也可以针对某个用户的会话 ,参数是 max_connections  max_user_connections

max_connections  默认值是0 也是无限连接的意思 (受my.cnf 的max_connections限制 ),我们可以使用

update user set max_connections=’2′ where user=’huzi’;

这样 ,每小时huzi只能连接两次数据库,这个有点BT,直接pass

那就看max_user_connections  这个我们理解为 用户最大的连接数目,针对用户本身

update user set max_user_connections=’9′ where user=’huzi’;

我设置了huzi这个用户最大的连接数目为9

下面我用工具连接,我连接第六次提示

进入 mysql shell看看线程数目

9个连接

建议继续学习:

  1. MySQL数据库负载很高连接数很多怎么处理    (阅读:2449)
  2. 被 Apache 的 MaxClients 困住了    (阅读:2004)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1