Mysql 5.7 默认对用户密码有密码强度要求,如果指定弱密码,会提示如下:

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

  Mysql 5.7 中的密码强度控制,是由插件来实现的,具体是由操作系统上的文件/usr/lib64/mysql/plugin/validate_password.so 来控制(RPM安装,即默认位置)。先来了解下密码策略

  

  1. 查看默认密码策略

  • mysql> show variables like 'validate_password_%';
    +--------------------------------------+--------+
    | Variable_name | Value |
    +--------------------------------------+--------+
    | validate_password_check_user_name | OFF |
    | 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 |
    +--------------------------------------+--------+

    其中,我们看到参数:validate_password_policy (即密码策略)的值是MEDIUM。官方对于该参数的值说明如下:

policy explanation
0 or LOW length
1 or MEDIUM 0+numeric;lowercase/uppercase; special characters
2 or STRONG 1+validate_password_dictionary_file

  在上面show  variables 查看到的参数,除 validate_password_policy 外,其他都是密码策略的各种控制参数。

      • validate_password_length                   ---> 密码长度,默认8
      • validate_password_mixed_case_count  ---> 大小写字母每种最少多少个,默认开启,至少1个。
      • validate_password_number_count        ---> 包含数字个数,默认 >= 1
      • validate_password_special_char_count ---> 特殊字符个数,默认 >= 1
      • validate_password_dictionary_file        ---> 密码强度控制字典路径。

2. 密码强度验证的开启与关闭

  2.1 启用

    插件对应的库对象文件需在配置选项plugin_dir指定的目录中。

    可使用--plugin-load=validate_password.so,在server启动时载入插件,或者将plugin-load=validate_password.so写入配置文件,:

[mysqld]

plugin-load=validate_password.so

validate-password=FORCE_PLUS_PERMANENT

    也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)

mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

2.2 关闭

    方法1) 关闭密码策略

      在/etc/my.cnf配置文件中增加:

      

[mysqld]
validate_password=off

      然后重启mysql

    方法2)更改密码策略

set global validate_password_policy=0;       # 修改密码策略为low
set global validate_password_length=0; # 密码长度为设置为0 ,即大于0个字符的密码都可以

    方法3)初始化Mysql时不启用插件

        

mysqld --initialize-insecure --datadir=/var/lib/mysql --basedir=/usr --user=mysql

       

Mysql 5.7 密码策略 ERROR 1819 (HY000)的更多相关文章

  1. 【Mac系统】之Mysql数据库遇到修改数字密码的问题(SQL语法错误:ERROR 1064 (42000),密码策略等问题:ERROR 1819 (HY000))

    安装完Mysql也进行了第一次初始化密码以及修改密码规则(请参考文章),但是我想后续再改密码,出现了下面几个问题: #SQL语句错误问题 ERROR 1064 (42000): You have an ...

  2. mysql授权报错 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    授权用户时报错,ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 原因为其实与val ...

  3. mysql5.7设置简单密码报错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 r ...

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

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通 ...

  5. mysql出现ERROR 1819 (HY000)的解决方法

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements, 出现这个问题怎么办? 为了加强安 ...

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

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通 ...

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

    mysql5.7初次登录使用提示 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before ...

  8. 【转】ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通 ...

  9. mysql绿色版安装问题解决(ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061))

    原来一直是使用MySQL安装版没有出现过问题,今天在安装绿色版MySQL时出现了点问题 在安装成windows服务成功后,用net start mysql 启动时提示启动成功,但当我连接mysql就报 ...

随机推荐

  1. shiro-redis实现session存储到redis

    shiro-redis开源项目已经很好的将shiro与redis整合到一起,实现了将session存入redis,可以方便的用于session共享实现集群部署. git地址:https://githu ...

  2. Linux iptables防火墙

    查找安装包yum list | grep iptables 安装iptables yum install iptables-services 重启防火墙使配置文件生效 systemctl restar ...

  3. 【VMware vSphere】VMware vSphere简单了解

    *什么是VMware vSphere           说VMware vSphere可能刚开始都是一脸懵逼,但是看到VMware时,首先想到的是不是VMware Workstation?也就是虚拟 ...

  4. 什么是 java.awt.headless

    以下是网上的说法,我觉得简单地说就是有些功能需要硬件设备协助,比如显卡,但如果是服务器可能都没装显卡,这时就需要JDK调用自身的库文件去摸拟显卡的功能. 什么是 java.awt.headless? ...

  5. VC获取操作系统位数

    方法1,msdn 有相应的例子,代码贴出来给你看看 MSDN有相应Example! #include <windows.h> typedef BOOL (WINAPI *LPFN_ISWO ...

  6. WARN: Establishing SSL connection

    在我们使用连接MySQL数据库时会出现这样的提示: Tue Aug 29 13:24:29 CST 2017 WARN: Establishing SSL connection without ser ...

  7. Debian下undefined reference to ‘pthread_create’问题解决

    今天在写线程测试程序(pthread_create)时出现如下问题, 明明在头文件中包含了<pthread.h>,但是仍然提示找不到函数 pthread_create 和 pthread_ ...

  8. why should the parameter in copy construction be a reference

    if not, it will lead to an endless loop!!! # include<iostream> using namespace std; class A { ...

  9. Laravel 5.2分页--怎么在一个页面实现两个以上的列表分页,互不影响?

    今天就碰到这样的一个问题?想在一个页面里面放两个列表,并且两个列表都可以进行分页. 但是,laravel提供的分页方法很方便,可是两个以上就出问题了,当我点其中一个分页的链接时候,页面上其余的分页跟着 ...

  10. mysql修改表、字段、库的字符集(转)

    原文链接:http://fatkun.com/2011/05/mysql-alter-charset.html MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 .最终是字段级 的字符集设 ...