相关推荐recommended
MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
作者:mmseoamin日期:2024-02-28

文章目录

  • MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  • 1、问题描述
  • 2、出现原因
    • 2.1 查看当前的密码策略
    • 3、可用的解决方案
      • 3.1 按照要求输入上述要求的密码
      • 3.2 更改策略:修改全局变量(临时性)
        • 3.2.1 重启mysql后失效
        • 3.3 更改策略:在my.cnf文件添加参数
        • 3.4 禁用插件
        • 3.5 删除插件

          MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

          1、问题描述

          当修改mysql密码时,如果密码设置的太简单的话,会提示报错:

          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,image-20230225134329765,第1张

          2、出现原因

          • mysql安装了validate_password密码校验插件,导致要修改的密码不符合密码策略的要求。

            2.1 查看当前的密码策略

            MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,image-20230225134832883,第2张

            • 策略说明
              mysql> SHOW VARIABLES LIKE 'validate_password%';
              +--------------------------------------+--------+
              | Variable_name                        | Value  |
              +--------------------------------------+--------+
              | validate_password_check_user_name    | OFF    |	决定是否使用该插件(及强制/永久强制使用):ON/OFF/FORCE/FORCE_PLUS_PERMANENT
              | validate_password_dictionary_file    |        |	插件用于验证密码强度的字典文件路径
              | validate_password_length             | 8      |	密码最小长度
              | validate_password_mixed_case_count   | 1      |	密码至少要包含的小写字母个数和大写字母个数
              | validate_password_number_count       | 1      |	密码至少要包含的数字个数
              | validate_password_policy             | MEDIUM |	密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG
              | validate_password_special_char_count | 1      |	密码至少要包含的特殊字符数
              +--------------------------------------+--------+
              7 rows in set (0.02 sec)
              													0/LOW:只检查长度。
                   1/MEDIUM:检查长度、数字、大小写、特殊字符。
                   2/STRONG:检查长度、数字、大小写、特殊字符字典文件。
              

              3、可用的解决方案

              思路:

              1、遵从策略

              2、修改策略

              3、策略失效

              3.1 按照要求输入上述要求的密码

              如输入的密码为:Wxq3012@

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

              MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,image-20230225135101086,第3张

              3.2 更改策略:修改全局变量(临时性)

              • 修改全局变量,但重启mysql后会失效
                mysql> set global validate_password_policy=0;
                Query OK, 0 rows affected (0.00 sec)
                
                • 在设置密码为 12345678,成功
                  mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
                  Query OK, 0 rows affected (0.00 sec)
                  
                  • 查看密码策略
                    mysql> SHOW VARIABLES LIKE 'validate_password%';
                    

                    MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,image-20230225140956808,第4张

                    3.2.1 重启mysql后失效

                    • 重启mysql
                      [root@localhost ~]# systemctl restart mysqld
                      
                      • 查看密码策略,可见策略已恢复
                        mysql> SHOW VARIABLES LIKE 'validate_password%';
                        

                        MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,image-20230225141404988,第5张

                        3.3 更改策略:在my.cnf文件添加参数

                        my.cnf文件在所在目录:/etc/my.cnf

                        • 在my.cnf文件添加参数
                          [root@localhost ~]# vim /etc/my.cnf
                          ...
                          ...
                          validate_password_policy=0
                          

                          MySQL问题:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,image-20230225142205144,第6张

                          • 重启mysql使参数生效
                            [root@localhost ~]# systemctl restart mysqld