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. 在Linux环境下安装Python3

    参考链接:https://blog.csdn.net/zhangdongren/article/details/82685932

  2. php编程 之php基础 表单

    1 ,php表单 当处理php表单的时候,php能把来自html页面的表单元素自动变成可供php脚本使用的数据. 比如: <html> <head> <meta char ...

  3. Zookeeper学习笔记3

    客户端的操作 zkCli.sh 官方文档 ls / [zookeeper] get / cZxid = 0x0 ctime = Thu Jan 01 08:00:00 CST 1970 mZxid = ...

  4. cartographer 最新版安装测试

    在官网的基础上稍加修改,但保证代码都是最新的 我的系统配置: Debian9 strech,  ROS lunar 该方法对 ubuntu 系列操作系统以及其他ROS版本同样适用. 1.  安装依赖库 ...

  5. 原生js的开发笔记

    1.基本的dom操作 var a=document.getElementById('ma1').innerHTML;/获取html代码 alert(document.getElementById('m ...

  6. libevent的入门学习-库的安装【转】

    转自:https://blog.csdn.net/lookintosky/article/details/61658067 libevent的入门学习-库的安装最近开始接触Linux应用层的东西,发现 ...

  7. ES6学习笔记三

    1.Symbol ES5 的对象属性名都是字符串,这容易造成属性名的冲突.如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突.这就是 ES6 引入Symbol的原因 ...

  8. .NET之美 第一部分C#语言基础

    第一章 类型基础 1 值类型与引用类型 CLR 支持两种类型:值类型和引用类型, C#的所有值类型均隐式派生自System.ValueType: 结构体:struct(直接派生于System.Valu ...

  9. deque-->collections之#双向消息队列

    deque 双向队列单项队列 方法: append #往右边添加一个appendleft #左边添加clear #清空队列count #看看这个队列里某个元素出现了多少次extend #从右边多个元素 ...

  10. 021_nginx动态upstream检查

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部. #参考:http://tengine.taobao.org/document_cn/http_upstream_check ...