mysql修改密码时出现错误;
问题描述
mysql8当执行修改密码语句(两者之一)出现以下错误:
1、ALTER USER USER() IDENTIFIED BY ‘自己的密码’;
2、ALTER user ‘root’@’%’ identified WITH mysql_native_password by ‘自己的密码’;
错误:Your password does not satisfy the current policy requirements
原因分析:
这是由于这个自定义密码过于简单,不符合MySQL密码规范
解决方案:
执行以下两行代码修改安全等级和密码规则:
set global validate_password.policy=0;
set global validate_password.length=1;
注意:这时有可能又会报“Unknown system variable ‘validate.password.policy’ ”
这是因为不同版本的mysql的关键字会有所不同,所以只要查看当前版本的关键字替换就行。
代码如下:
mysql> SHOW VARIABLES LIKE ‘validate_password%’;
mysql8.0.31 结果如下:
替换为当前版本的就行
若是还是失败,则可以先改一个符合规则的密码:
1、ALTER user ‘root’@’%’ identified WITH mysql_native_password by ‘自己的密码’;
2、再修改安全性和密码规则
set global validate_password.policy=0;
set global validate_password.length=1;