解决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”错误消息。请注意,禁用密码策略可能会降低系统安全性。因此,建议您仅在必要时才禁用密码策略。