下面是详细讲解“MySQL 8.0.19支持输入3次错误密码锁定账户功能”的攻略。
什么是MySQL错误密码锁定账户?
MySQL 8.0.19版本之后,新增了一个功能,支持了输入3次错误密码锁定账户,这个功能可以有效防止恶意攻击者通过暴力破解密码获取非授权的数据库访问权限。一旦锁定账户,需要等待一定时间才能重新尝试登录。MySQL默认设置锁定时间为1小时。
如何开启MySQL错误密码锁定账户功能
MySQL错误密码锁定账户功能默认是关闭的,我们需要手动设置。可以通过在MySQL配置文件中设置参数来开启此功能。具体方式如下:
-
打开MySQL配置文件mysql.cnf(Linux系统)或my.cnf(Windows系统);
-
在[mysqld]下添加下面这行代码:
sql
max_connect_errors=3
max_connect_errors用来设置尝试连接失败的次数,设置为3即达到了输入3次错误密码锁定账户的功能。
- 重启MySQL服务,使配置生效。
输入3次错误密码锁定账户功能示例
为了更好的理解输入3次错误密码锁定账户功能,下面给出两个示例说明。
示例1
-
准备好登录MySQL的账户和密码,假设我们的账户名为test,密码为123456。
-
开启MySQL客户端,输入示例中的用户名密码:
sql
mysql -u test -p
- 如果输入错误的密码3次,MySQL会提示:
sql
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
- 尝试重新登录MySQL服务,MySQL不会允许我们登录,并提示:
sql
ER_ACCESS_DENIED_ERROR: Too many failed login attempts, please try again later.
示例2
-
准备好两个MySQL登录账户:用户user1和user2,两个账户的密码均为123456。
-
开启MySQL客户端,将用户名和密码分别设置为user1和user2。
-
登录user1账户,在MySQL客户端中输入以下命令:
sql
mysql> SELECT * FROM mysql.user;
MySQL会返回user1账户对MySQL系统的访问权限信息。
- 尝试登录user2账户,但是输入错误密码3次,MySQL提示:
sql
ERROR 1045 (28000): Access denied for user 'user2'@'localhost' (using password: YES)
- 尝试重新登录user2账户,MySQL不会允许我们登录,并提示:
sql
ER_ACCESS_DENIED_ERROR: Too many failed login attempts, please try again later.
- 再次登录user1账户,在MySQL客户端中输入以下命令:
sql
mysql> SELECT * FROM mysql.user;
MySQL返回的结果中只包含user1账户对MySQL系统的访问权限信息,不再包含user2账户信息。
以上就是针对输入3次错误密码锁定账户功能的完整攻略,包括功能说明和示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子) - Python技术站