【问题标题】:mysql - ERROR 1819 (HY000) Your password does not satisfy the current policy requirementsmysql - ERROR 1819 (HY000) 您的密码不符合当前政策要求
【发布时间】: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
  • 试试这个链接:stackoverflow.com/questions/10757169/… .. 看看它是否有帮助
  • 我已经尝试过并进行了正确的修改,但是当我这样做时,套接字存在连接问题,并且不允许任何连接。我也尝试过删除 MySQL 并通过自制软件重新安装它,但仍然得到与上述相同的错误。我不知道发生了什么。

标签: 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';,然后就没有错误了。

    【讨论】:

      猜你喜欢
      • 2021-08-05
      • 2017-08-23
      • 1970-01-01
      • 2019-04-15
      • 2020-11-05
      • 2021-04-26
      • 2019-04-28
      • 1970-01-01
      • 2020-12-14
      相关资源
      最近更新 更多