mysql修改密码报错:Your password does not satisfy the current policy requirements
参考
https://blog.csdn.net/u013449046/article/details/106455041
这是 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。
密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决方法
- 查看MySQL密码初始策略
mysql> show variables like "validate_password%";
+-------------------------------------------------+-------+
| Variable_name | Value |
+-------------------------------------------------+-------+
| validate_password.changed_characters_percentage | 0 |
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy |MEDIUM |
| validate_password.special_char_count | 1 |
+-------------------------------------------------+-------+
8 rows in set (0.00 sec)
- 设置密码等级强度为LOW
mysql > set global validate_password.policy=LOW;
设置完毕即可设置简单密码了
3. 关于密码策略的其他相关参数
| validate_password.changed_characters_percentage | 0 | 接受用户帐户的新密码之前,用户必须更改的密码的最小字符数
| validate_password.check_user_name | ON | 用密码和当前的用户名进行比较,匹配的话拒绝
| validate_password.dictionary_file | | 插件用于验证密码强度的字典文件路径,策略为strong时存储指定不可用的密码
| validate_password.length | 8 | 密码最小长度
| validate_password.mixed_case_count | 1 | 整个密码中至少要包含大/小写字母的总个数
| validate_password.number_count | 1 | 密码中至少包含的阿拉伯数字个数
| validate_password.policy |MEDIUM | 密码强度等级
| validate_password.special_char_count | 1 | 密码中至少包含的特殊字符个数
- 设置重启后生效
使用set设置的策略在MySQL重启之后会恢复成默认需要设置永久生效修改MySQL配置文件设置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
log-bin = /var/lib/mysql/bin-log
server-id = 231
skip_ssl
# 安全策略
validate_password.policy=LOW
validate_password.length=4
设置在模块[mysqld]下