zoukankan      html  css  js  c++  java
  • MySQL 5.7 弱密码限制

    MySQL版本从5.5升级到5.7之后,有一些不习惯,比如强制使用复杂密码。在我的VPS上面每次登录MySQL都要输入复杂难记的密码,安全方面有防火墙限制。
    如何破解掉强密码的限制。

    修改当前登录的密码
    老的修改方式:

    mysql> SET PASSWORD=PASSWORD('Root1234@');
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    

    新的修改方式:

    mysql> SET password='Root1234@';
    或者可以这样写
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    

    如果密码设置太简单,MySQL也会报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。因为MySQL5.7默认安装了validate_password插件

    mysql> SHOW VARIABLES LIKE 'vali%';
    +--------------------------------------+--------+
    | Variable_name                        | Value  |
    +--------------------------------------+--------+
    | 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      |
    +--------------------------------------+--------+
    6 rows in set (0.00 sec)
    

    5.7初始化后,默认会安装这个插件,若没有安装,则SHOW VARIABLES LIKE 'vali%'则会返回空。
    对应参数的value值也为默认值,以下是这些值的解释

    validate_password_length 8 # 密码的最小长度,此处为8。
    validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。
    validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。
    validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应:
    【0/LOW】:只检查长度。
    【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。
    【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。
    validate_password_special_char_count 1 # 至少要包含的个数字符的个数,此处为1。

    想要关闭这个插件,则在配置文件中加入以下并重启mysqld即可:

    [mysqld]
    validate_password=off
    

    重启mysqld后通过SHOW PLUGINS可以查到:

    +-------------------+----------+-------------------+----------------------+-----+
    | validate_password | DISABLED | VALIDATE PASSWORD | validate_password.so | GPL |
    +-------------------+----------+-------------------+----------------------+-----+
    

    参考

    MySQL 5.7 初始密码和密码复杂度问题

  • 相关阅读:
    Map集合
    Collections 工具类
    LinkedList 集合
    List集合
    Iterator迭代器
    Collection集合
    时间日期类
    一看就懂!速写docker 容器数据库备份脚本
    Nginx 配置之HTTPS和WSS那些你不知道的事!
    https 证书认证/颁发/秒级认证无烦恼
  • 原文地址:https://www.cnblogs.com/trunkslisa/p/9494844.html
Copyright © 2011-2022 走看看