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;