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;