MySQL 8.0.19及更新版本,支持连续几次输入错误密码,锁定账户功能
FAILED_LOGIN_ATTEMPTS:代表尝试失败的次数
PASSWORD_LOCK_TIME:代表锁定的时间,单位天。
#指定策略和加密插件,连续输错2次后,锁定一天
CREATE USER `test`@`%` IDENTIFIED WITH mysql_native_password BY '123456' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1;
#默认策略和加密插件
CREATE USER 'test'@'%' IDENTIFIED BY '123456' FAILED_LOGIN_ATTEMPTS 2 PASSWORD_LOCK_TIME 1;
#授权
GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create User, Create View, Delete, Drop, Event, Execute, File, Grant Option, Index, Insert, Lock Tables, Process, References, Reload, Replication Client, Replication Slave, Select, Show Databases, Show View, Shutdown, Super, Trigger, Update ON *.* TO `test`@`%`;
Failed-Login Tracking and Temporary Account Locking 策略有以下几个需要注意的点:
1.failed_login_attempts 和 password_lock_time 必须同时不为 0 才能生效。
2.创建新用户不指定 failed_login_attempts 和 password_lock_time ,则默认关闭 这2个密码策略。
3.已使用failed_login_attempts 和 password_lock_time 密码策略的用户,管理员对其 alter user 后不改变原有密码验证策略。
4.一旦账户被锁定,即使输入正确密码也无法登录。
5.还有最重要的一点:由于 failed_login_attempts 和 password_lock_time 对密码验证正确与否的连续性,任意一次成功登录,failed_login_attempts 和 password_lock_time密码策略 计数器重置。
例如 failed_login_attempts 设置为 3 ,前两次密码连续输错,第三次输入正确的密码,FLTTAL 计数器重置。
管理员解锁账户方能正常使用
mysql -h 192.168.1.100 -u root -p
alter user test@'%' account unlock;
drop user test;
MYSQL用户与权限管理,角色管理
https://blog.csdn.net/weixin_45902285/article/details/125228717