如果网站上有需要登录或认证的东西,我们现在使用的手机就有这样的功能。 如果在几次错误密码或密码后,系统锁定n分钟,并提示n分钟后重试,可能会导致头疼。 万一忘记了密码,只能填写很多信息重新获取。 当然,这也是为了安全。 实际上,在保证评估等方面,也有同样的要求。 今天我们来学习MySQL是如何多次设置登录的
Tips :示例以Mysql 5.7为例
需求
Mysql数据库的密码数据将自动锁定3次,持续15分钟。
查看配置
首先,使用以下命令检查是否设置了参数
showvariableslike ' % connection _ control % ';
如果显示字符emptyset(0.01sec ),则表示未设置参数。 接下来,检查是否安装了CONNECTION_CONTROL和connection _ control _ failed _ log in _ attempts插件。
•CONNECTION_CONTROL :用于控制登录失败的次数和延迟响应时间。 connection _ control _ failed _ log in _ attempts :此表在IS库中记录登录失败的操作。
show plugins;
图1
如果插件列表中没有两个选中【图1】的项目,则需要安装插件;
安装插件
installpluginconnection _ control soname ' connection _ control.so '; installpluginconnection _ control _ failed _ log in _ attempts soname ' connection _ control.so ';
运行结束后,再次查看插件列表,会出现【图1】中选中的两个项目; 然后,再次检查connection_control中的参数。
showvariableslike ' % connection _ control % ';
图2
将显示现有的默认配置。
connection _ control _ failed _ connections _ threshold :失败的尝试次数。 默认值为3,表示连接失败3次后连接控制有效,0表示未打开。 连接_控制_ max _ connection _ delay :响应延迟的最大时间。 默认情况下,连接_控制_ min _连接_延迟约25天:响应延迟的最小时间
构成
方法1 :更改配置文件my.cnf
vim /etc/my.cnf#以下两个连接-控制故障连接- threshold=3#登录失败次数限制连接-控制- min -
重新启动MySQL服务service mysqld restart或服务MySQL restart
方法2 :设置全局变量
set全局连接_ control _ failed _ connections _ threshold=3; set全局连接_ control _ min _ connection _ delay=900000;
配置完成后,单击showvariableslike“% connection _ control %”; 显示参数:
图3
可见已经是我们配置的值了。
验证
邓四
图4是密码搞错三次后,第四次程序被锁定了。