mysql - ERROR 1819 (HY000) 您的密码不符合当前政策要求

Posted

技术标签:

【中文标题】mysql - ERROR 1819 (HY000) 您的密码不符合当前政策要求【英文标题】:mysql - ERROR 1819 (HY000) Your password does not satisfy the current policy requirements 【发布时间】:2020-09-15 13:00:35 【问题描述】:

有很多关于解决这个问题的帖子,但是,它们都不适合我。我在我的计算机上以 root 身份登录 mysql。使用$ mysql -u root -p 登录并输入我的密码后,我输入并尝试使用CREATE USER 'test'@'localhost'; 创建用户,但随后出现错误:

ERROR 1819 (HY000):您的密码不符合当前政策要求

使用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      |
+--------------------------------------+--------+

我已尝试使用this 解决方案以及this,但是,当尝试使用UNINSTALL plugin validate_password; 卸载验证密码时,我得到:

ERROR 1305 (42000): PLUGIN validate_password 不存在

每当我尝试设置变量时,我都会收到错误:

ERROR 1193 (HY000):未知系统变量“validate_password_policy”

上面的引号之间可以换成任何变量。 我以 root 身份正确登录。并开始为此失去理智。

感谢您的帮助。

编辑:

我试图在this comment 之后找到我的my.cnf 文件,但我发现它对文件的任何编辑都会导致套接字错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我也尝试通过自制软件卸载并重新安装 MySQL,但错误仍然存​​在,符合政策要求。

【问题讨论】:

你试过直接在my.cnf/my.ini中添加变量设置吗? 我的电脑 (macOS) 说我有一个 my.cnf,但我无法在所述目录中找到它们。例如,按照命令$ mysql --verbose --help | grep my.cnf 我得到/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 但是当导航到目的地时我找不到它们来打开文件。例如:cat /etc/my.cnf 给我:cat: my.cnf: No such file or directory 试试这个链接:***.com/questions/10757169/… .. 看看它是否有帮助 我已经尝试过并进行了正确的修改,但是当我这样做时,套接字存在连接问题,并且不允许任何连接。我也尝试过删除 MySQL 并通过自制软件重新安装它,但仍然得到与上述相同的错误。我不知道发生了什么。 【参考方案1】:

所以错误是我无法在没有密码的情况下创建用户:mysql> CREATE USER 'test'@'localhost'; 这将失败,因为我无法在不说明密码的情况下创建用户,即使我稍后会分配它我也需要创建 and 设置密码。

所以:

mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY 'Password1';

Password1 应替换为您想要的密码。

【讨论】:

【参考方案2】:

在尝试了一些简单的密码后,我得到了这个错误,然后用这个SHOW VARIABLES LIKE 'validate_password%'; 检查了variables

输出显示策略已经设置为low,那么我所做的只是按照这里提到的内容来构建密码,就像使用至少8个字符,至少1个数字,混合大小写字母等。然后执行命令'ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mysql0_rT';,然后就没有错误了。

【讨论】:

以上是关于mysql - ERROR 1819 (HY000) 您的密码不符合当前政策要求的主要内容,如果未能解决你的问题,请参考以下文章

ERROR 1819 (HY000): Unknown error 1819

mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password

mysql 无法授予用户权限,出现错误:ERROR 1819 (HY000): Your password does not meet the current policy requirements

mysql错误详解(1819):ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(示

mysql 修改密码提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql5.7 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements