前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

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

作者头像
星哥玩云
发布2022-08-18 16:48:59
7960
发布2022-08-18 16:48:59
举报
文章被收录于专栏:开源部署开源部署

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

如下图:

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

MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your passwor
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your passwor

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

但是新版 MySQL 8.0 加入密码安全度检测机制,导致报错。

解决方法如下

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

代码语言:javascript
复制
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 字典文件

MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your passwor
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your passwor

MySQL 8.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

validate_password.special_char_count 1

全局变量名称变了!

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)

MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your passwor
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your passwor

问题总结

通过查看 MySQL5.7 和 MySQL8.0 密码验证插件对比,可知两个版本中,变量名不一样。(*_password_policy 和 *_password.policy ) --- 问题原因所在。

CentOS 7.6下yum安装MySQL 8.0版本图文教程  https://www.linuxidc.com/Linux/2019-08/160316.htm

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档