#1.Mysql初次登陆
使用 grep 'password' /var/log/mysqld.log 查看初始密码。
#2.查看密码规则
使用show variables like 'validate_password%';查看密码规则时,提示ERROR 1820,让我们先修改密码后才能查看规则。
并且之后为了设置简单密码要修改的变量如validate_password.policy(版本8以下为validate_password_policy)也要在修改密码后才会出现,我们直接修改这个变量会提示ERROR 1193,故必须要先修改密码,默认的密码规则是字母+数字+特殊字符。
修改完后进入mysql查看密码规则show variables like 'validate_password%';
#3.修改密码规则
密码规则相关的几个量
validate_password.policy为密码安全等级,分三级。第0级只有长度限制,故想使用简单密码直接设为0即可。
Policy | Tests Performed |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
validate_password.length规定密码最短长度,但是它的值受另外几个值限制:
validate_password.mixed_case_count 最少大小字母数量
vaildate_password.number_count 最少数字数量
vaildate_password.special_char_count 最少特殊字符数量
计算规则:
validate_password.length(min)=2 * validate_password.mixed_case_count + vaildate_password.number_count + vaildate_password.special_char_count
所以直接设置validate_password.length=1是不可行的,他还是会根据另外几个量计算出最低值,默认为4。
如上图,修改为length为1,虽然提示OK,但查看还是4。
故我们需要根据自己设置简单密码的需求设置这几个量的值。我的密码是一个数字,所以将字母和特殊字符全设为0。
(所有量都可以设置为0)
之后就可以设置简单密码了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';