解决MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy require...

最新推荐文章于 2024-04-08 14:24:03 发布
最新推荐文章于 2024-04-08 14:24:03 发布 阅读量1.3k

MySQL8.0下设置简单密码出现错误提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

为什么要设置简单密码,不是不安全吗?因为本人内网访问的测试服务器,不想设置复杂的密码,就像简单点的密码比如root,123等。

但是新版 MySQL 8.0 加入密码安全度检测机制,导致报错。
解决方法如下

1、查看当前安全变量值,可用命令查看 validate_password 密码验证插件是否安装。

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| 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      |
+--------------------------------------+--------+
7 rows in set (0.02 sec)

validate_password_length密码长度的最小值(这个值最小要是4)。
validate_password_number_count 密码中数字的最小个数。

validate_password_mixed_case_count大小写的最小个数。

validate_password_special_char_count 特殊字符的最小个数。

validate_password_dictionary_file 字典文件

2.修改变量

注意到8.0 比5.7多了带“.”的变量导致只设置一半是不够的,要想在高版本使用简单的密码,需要做这样设置:

mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password.length=1;
Query OK, 0 rows affected (0.00 sec)

然后再执行如下命令设置新的简单密码就OK了。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.02 sec)

如果修改密码报错请看解决ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost

解决MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy require... MySQL8.0下设置简单密码出现错误提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements为什么要设置简单密码,不是不安全吗?因为本人内网访问的测试服务器,不想设置复杂的密码,就像简单点的密码比如root,123等。但是新版 MySQL 8.0 加入密码安全度检测机制,导致报错。解决方法如下1、查看当前安全变量值,可用命令查看 validate_password 密码验证插件是
mysql8.0配置了新的安全策略所以配置密码是和5.7是不一样的。 首先,我们先按照他的要求配置一个符合的密码,如'FGsd_jfdlaflk455-+'就是那种自己记不住级别就行了。 然后使用命令 //如果没有先配好root的密码,使用初始密码是无法查看对应的参数的。 SHOW VARIABLES LIKE 'validate_password%'; 分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证 从业8年DBA工作,在数据库领域有丰富的经验 B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007 擅长Oracle数据库运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
MySQL 8.0中,密码策略更加严格,要求密码必须包含大小写字母、数字和特殊字符,长度至少为8个字符。如果您的密码不符合这些要求,您将收到“ERROR 1819”误消息。 要解决此问题,您可以执行以下步骤: 1. 在MySQL服务器上,用root用户登录到MySQL。 2. 在MySQL shell中,输入以下命令: SET GLOBAL validate_password.policy=LOW; 这将禁用密码策略,允许您使用任何密码。 3. 如果您希望使用自己的密码策略,请执行以下步骤: a. 输入以下命令: SHOW VARIABLES LIKE 'validate_password%'; 这将显示当前的密码策略设置。 b. 根据您的需求修改密码策略。例如,如果您希望密码长度至少为6个字符,输入以下命令: SET GLOBAL validate_password.length=6; c. 重新设置密码,确保符合更新后的密码策略。 4. 测试您的密码是否符合密码策略。输入以下命令: SELECT @@validate_password_policy; 如果返回的值为“LOW”,则表示密码策略已禁用。如果返回的值为其他值,则表示密码策略已启用。 以上步骤将帮助您解决ERROR 1819”误消息。请注意,禁用密码策略可能会降低系统安全性。因此,建议您仅在必要时才禁用密码策略。