一、需求:如果连续5次输入密码错误,限制登录数据库30分钟

mysql登录 mysql登录失败5次锁定300秒_数据库安全

二、解决方法(通过MySQL插件控制)

1、登录数据库,安装插件(CONNECTION_CONTROL和CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS)

mysql -uroot -p

install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';
2、查看所有已安装的插件

show plugins;

mysql登录 mysql登录失败5次锁定300秒_mysql_02

3、按需修改配置文件(/etc/my.cnf)

vim /etc/my.cnf

添加如下两行配置:

connection-control-failed-connections-threshold=5   #登陆失败次数限制
connection-control-min-connection-delay=1800000    #限制重试时间,此处为毫秒,注意按需求换算

重新启动MySQL(根据版本选择重启命令)

service mysqld restart 或 service mysql restart

4、重新登录数据库,查看配置是否生效

mysql -uroot -p

show variables like '%connection_control%';

mysql登录 mysql登录失败5次锁定300秒_mysql_03

5、验证

输错5次密码后,会发现第6次登录会卡住,限制登录,时间为设定的限制时间30分钟

mysql登录 mysql登录失败5次锁定300秒_数据库安全_04