一个简单的patch--MySQL禁止新连接

1、   问题背景

这个patch基于这样的需求:

a)         MySQL刚刚启动时,有些情况下DBA希望能够先做一些操作,然后再允许应用连接进来。

b)         在一个全长连接高并发的服务出现一些特别耗费资源,导致影响整机服务的连接,kill以后客户端马上又连上来,“杀不掉”

 

因此考虑如果有个开关能够暂时禁止普通用户连接,能够满足上述两个需求。

 

2、   基本功能

基本功能包括以下:

a) 提供一个变量,当设置为on时,只允许有SUPER权限的用户连接;

b) my.cnf中能够直接配置初始值, 使得启动时只有权限满足的用户才能连接;

扫描二维码关注公众号,回复: 1413009 查看本文章

c) 正常执行过程中能够动态修改。

d) ON修改为OFF的时候,不影响现存的连接。

e) 拥有SUPER以上权限的才能通过命令行修改此值。

 

         从描述看来需求确实简单,其实看代码更简洁。

        http://bugs.mysql.com/file.php?id=18015&text=1

基于5.5.22。用别的版本的同学可以自己改,有效代码只有十几行。

 

3、   效果

猜你喜欢

转载自dinglin.iteye.com/blog/1402829