MySQL密码复杂度设置,超时退出,登录失败锁定

1.密码复杂度设置

查看是否安装过,若没有则安装

SELECT PLUGIN_NAME, PLUGIN_STATUS
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME = 'validate_password';

安装

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

设置配置文件

vi /etc/my.cnf
#在[mysqld]下新增:
plugin-load=validate_password.so
#记得重启

查看安装情况,登录MySQL

mysql -uroot -p
SHOW PLUGINS;

查看当前密码复杂度

show variables like 'validate_password%';

# 密码验证策略低要求(0或LOW代表低级)
set global validate_password_policy=MEDIUM;

# 密码至少要包含的小写字母个数和大写字母个数
set global validate_password_mixed_case_count=1;

# 密码至少要包含的数字个数。
set global validate_password_number_count=1; 

# 密码至少要包含的特殊字符数
set global validate_password_special_char_count=1; 

# 密码长度
set global validate_password_length=8; 

设置复杂度

# 永久设置:在配置文件中设置
validate_password_policy=MEDIUM
validate_password_length=8
validate_password_special_char_count=0
# 临时设置,登录数据库设置
SET GLOBAL validate_password_policy = 'MEDIUM';
SET GLOBAL validate_password_length = 8;

2.密码过期时间

# 登录数据库
ALTER USER 'your_username'@'your_host' PASSWORD EXPIRE INTERVAL N DAY;# N代表几天

3.登录失败锁定用户

安装

install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';

查看

show plugins;

配置

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

4.超时退出

查看当前设置会话时间

show variables like 'wait_time%';
# 永久设置
interactive_timeout=300
wait_timeout=300

# 临时设置
SET GLOBAL connection_control_min_connection_delay = 1800;
SET GLOBAL connection-control-failed-connections-threshold = 5;
SET SESSION interactive_timeout = 30;
SET GLOBAL wait_timeout = 30;

你可能感兴趣的:(mysql,数据库,运维)