前言
出于安全性的考虑,数据库访问连续出错,应该被锁定,等待一段时间后才可继续使用。该方法是通过数据库自身插件实现。
操作步骤:
1.查看相应配置
登陆数据库,查看是否有相应的插件CONNECTION_CONTROL和CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS
cmd到黑框,输入:mysql -uroot -p 输入密码之后,进入命令框,查看所有插件:show plugins;
如果没有,进行插件安装,
2.配置相应选项
widow环境:
install plugin CONNECTION_CONTROL soname 'connection_control.dll';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.dll';
linux环境:
install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';
安装成功后,查看插件,确认已经成功安装
- 设置策略
假如: 设置登录失败5次,锁定账户10分钟。
windows环境:
SET GLOBAL connection_control_failed_connections_threshold = 5;
SET GLOBAL connection_control_min_connection_delay = 600000;
linux环境:
修改配置文件:vim /etc/my.cnf
增加两行配置:
connection-control-failed-connections-threshold=5 #登陆失败次数限制
connection-control-min-connection-delay=600000 #限制重试时间,此处为毫秒,注意按需求换算
重启mysql:
service mysql restart
查看是否生效:
show variables like '%connection_control%';
3.验证
尝试五次之后,第六次会卡住,10分钟后才可以输入。