Centos8 —— 修改 MySQL8 密码策略等级
修改 MySQL8 密码策略等级
开启MySQL服务
systemctl start mysqld
查看默认密码
先搜索一下 mysqld.log 文件在哪
sudo updatedb
sudo locate mysqld.log
我的是在 /var/log/mysql/mysqld.log
cat /var/log/mysql/mysqld.log | grep password
此处提示我是以空密码创建的,如果创建时有随机生成的密码,会在此处显示出来
查看服务开启状态
systemctl status mysqld
连接入mysql
mysql -uroot -p
查看当前密码策略等级
SHOW VARIABLES LIKE 'validate_password%';
- validate_password.length —— 固定密码的总长度;
- validate_password.dictionary_file —— 指定密码验证的文件路径;
- validate_password.mixed_case_count —— 整个密码中至少要包含大/小写字母的总个数;
- validate_password.number_count —— 整个密码中至少要包含阿拉伯数字的个数;
- validate_password.policy —— 指定密码的强度验证等级,默认为 MEDIUM;
- validate_password.special_char_count —— 密码中特殊字符的最小长度
密码策略
- 0(LOW)—— 只验证长度
- 1(MEDIUM) —— 验证长度、数字、大小写、特殊字符;
- 2(STRONG) —— 验证长度、数字、大小写、特殊字符、字典文件;
降低安全策略等级
set global validate_password.policy=LOW;
降低密码长度需求
set global validate_password.length=4;
设置英文字母(包含大小写)最小长度
set global validate_password.mixed_case_count=0;
设置特殊字符最小长度
set global validate_password.special_char_count=0;
刷新权限(此处不需要)
FLUSH PRIVILEGES;
设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '0403';
如果刷新密码报错1396
1、选择一个 mysql 数据库
use mysql;
2、查看用户所属
select user, host from user;
可以看到 root 属于 ‘%’
3、使用 root@% 来修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '0403';
查看进程中服务是否启动
ps -aux | grep mysql