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. Javascript - ExtJs - 弹窗

    1.确认对话框 Ext.MessageBox.alert( title,content,fn) Ext.onReady(function () {    Ext.Msg.alert("好吧, ...

  2. 集合-LinkedList

    List linkedlist = new LinkedList<>(); LinkedList 底层数据结构是链表. 1. LinkedList 除了实现了List接口外,还实现了双向链 ...

  3. ActiveMQ 动态网络链接

    ActiveMQ的broker-broker方式有两种,一种 静态连接一种是动态连接,一般使用静态连接,动态连接了解就好,没有过多的去测试. 1. 多播协议multicast ActiveMQ使用Mu ...

  4. oracle查询语句 select a||','||b||','||c from table where a in('m','n')

    查询table表中 字段a = m 或 n 时,a列,b列,c列的值,并且这三列之间用 ","(逗号)分割. 追问:连接符的作用呢?就是显示的时候链接abc和中间的逗号么?追答:| ...

  5. Ettercap内网渗透

    最近网速很卡,于是想到有人在蹭网,怎么捉弄一下呢? 1.开启ettercap ettercap -G 2. Hosts->Scan,List 发现有几个新的地址192.168.1.71,192. ...

  6. Java基础5-接口

    昨日内容回顾 jvm参数设置 -Xmx //设置最大堆大小 java -Xmx512m Classname -Xms //设置初始堆大小 java -Xms24m Classname -Xss //设 ...

  7. 【转】PEP8 规范

    [转]PEP8 规范 Python PEP8 编码规范中文版   原文链接:http://legacy.python.org/dev/peps/pep-0008/ item detail PEP 8 ...

  8. MongoDB 和 NoSQL简介

    MongoDB 是一个基于分布式文件存储的数据库( https://www.mongodb.com/ ).由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.MongoDB ...

  9. Linux 指定运行时动态库路径【转】

    转自:http://www.cnblogs.com/cute/archive/2011/02/24/1963957.html 众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/l ...

  10. boost.asio包装类st_asio_wrapper开发教程(2013.12.8更新)(二)

    如果你是偶然浏览到这里,请先看 源代码及例程下载地址:命令行:svn checkout http://st-asio-wrapper.googlecode.com/svn/trunk/ st-asio ...