控制mysql用户连接数据库数目
浏览:2790次 出处信息
对于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个连接
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:虎子 来源: 虎子的BLOG
- 标签: 连接数
- 发布时间:2010-09-12 23:53:50
近3天十大热文
-
[839] WordPress插件开发 -- 在插件使用 -
[65] 再谈“我是怎么招聘程序员的” -
[59] 我对技术方向的一些反思 -
[53] 检查nginx配置,重载配置以及重启的方法 -
[52] 分布式系统设计系列 -- 基本原理及高可用策 -
[49] 解读iPhone平台的一些优秀设计思路 -
[49] 程序员技术练级攻略 -
[48] 关于返回 Null 值的问题 -
[47] cookie窃取和session劫持 -
[44] 利用跨域资源共享(CORS)实现ajax跨域



