centOS6安装mysql5.7修改密码报 ERROR 1819 (HY000): Your password does not satisfy the current policy ...

今天在服务器中安装mysql时需要修改密码,但是修改简单密码时一直报 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误,如下图,接下来讲讲为什么出现这个问题并且怎么解决:

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。一般可通过log_error设置。

我先使用下列指令获取临时密码:

grep 'temporary password' /var/log/mysqld.log

这里的密码就是 _rWM+amos2nk ,可以使用 mysql -uroot -p 来登录。

登录以后使用 ALTER USER 'root'@'localhost' IDENTIFIED BY 'a'; 修改密码则出现了上述的错误,这是因为密码与validate_password_policy的值有关。validate_password_policy有以下取值:

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

mysql默认是1,也就是MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。所以我之前设置的这个密码不符合规范,所以报错。解决这个问题需要修改两个参数:

 validate_password_policy 与 validate_password_length

首先我先将 validate_password_policy 的值改为0:

set global validate_password_policy=0;

然后再将密码长度设为1:

 set global validate_password_length=1;

centOS6安装mysql5.7修改密码报 ERROR 1819 (HY000): Your password does not satisfy the current policy ..._第1张图片

然后我再修改密码则修改成功:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

centOS6安装mysql5.7修改密码报 ERROR 1819 (HY000): Your password does not satisfy the current policy ..._第2张图片

你可能感兴趣的:(linux,遇到的问题与解决方案)