MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。

本文采用测试环境:MySQL 8.0.15

1、在 MySQL安装目录中,\MySQL Server 8.0\lib\plugin 可以看到默认存在validate_password.dll

2、在MySQL 8.0.15中默认没有安装这个插件,我们可以通过  SELECT * from mysql.`plugin` 查看,列表为空。

安装插件:

添加:
  mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll'; 卸载:
  mysql> UNINSTALL PLUGIN validate_password;

插件安装后,使用 show plugins; 查看是否启用成功

3、查看默认策略配置:

show variables like 'validate_password%'; 

4、测试

修改密码

alter user 'root'@'localhost' identified by '';

提示错误

[SQL]alter user 'root'@'localhost' identified by '';
[Err] - Your password does not satisfy the current policy requirements

各项值说明

validate_password_policy:密码安全策略,默认MEDIUM策略

策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至少1个  validate_password_special_char_count:特殊字符至少1个

修改策略(将策略要求置为LOW,长度要求置为1)

set global validate_password_policy=0;
set global validate_password_length=1;

经测试,最小长度为4,设置为1无效,不晓得为什么,后面再查询下。

如不需要,可关闭复杂性策略:

mysql> set global validate_password_policy=;       # 关闭密码复杂性策略
mysql> set global validate_password_length=; # 设置密码复杂性要求密码最低长度为1
mysql> select @@validate_password_policy; # 查看密码复杂性策略
mysql> select @@validate_password_length; # 查看密码复杂性要求密码最低长度大小

重置密码验证,可成功修改:

alter user 'root'@'localhost' identified by '1234';

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAe4AAAAxCAIAAACTat1PAAAHT0lEQVR4nO2c26HjKgxF05PbcTHuhVpcivuYj8Q2jy0QxCevWevn3uPBSAiQhQLcbgAW07Kuy/RuLeA9TMu6hfndWnwuL54ddAeMgyv/X5nDtm14jiovnB10BwAAAAAA3JmWdbtz3XrkL+oED6/rzY9I79gZyjlcOva0oN0ymV161tp1PT/CyPBdXDz0zTq/fHBer75Ro1+QKvmC3rzCEk+33WbUAj2y5/B8gvQVrjyv5fg255+gB1GjoqdqkGUPv3xy/wi4chfvdOV6suHKJS9w5ZdsWniHKxdPp2XdmzIt667SHJISSWvnsIaw4soHWdd13bZtCyHE38l0OOx/6Q/q/jSEdAyldXSN0vsPuOLDPRciEg4BcgU/Leu6LEHXfEtKTYU4I5h4QpCQZ79eD3tihbVBhKBogt3mEJf1uXKpUmSQoz5vbybtFgNMPkvGrLvtkqPOZJzq4V30u1TeUEkJihqU1ipUkqPOmoZlIw89z2J6vldN1XLlCXq1kZSfwxbmogZcuZt1C/MxqaMujHvz0Q+JM56WcA62+9N8dVQMCJUHbFB+uD1ReeaB4+CgLVy6ct325wTVNBD+8TByKXEkus0s2/zS5pbX0pP/X0RP1XpzWtbdZ0UllSCjO7xtr2HaJR7eohe08hWVlMXt/LlhtuOf7GkoKmt13GiWxzS+/jbE8cMjhvd/ctmol3O33OmsRd/uPRtHcQfxMCtDZt0tR/zg6A1HnSralBGmb2FguvJq2wcE1TQoA8PIyKXDSCefaz7Evbpt27r2ufKmSp5K6nWWH9FEkDm2rnTlTZUOifZEuNiVd0qvVRYPm3K+92O0NF3yqZXG8SKufBzTle99mwVA+cLOSEeIP0/arjxZbY64cmtd65jmVotk258R5NLAVsm2vEf8XibOnXW68rpKqSxXb3Y1U+UYnG2vYn6fU1de9Ht3dzzjyjuki8p0STXfO1Ettb+65/rh/HiQTxnHduX3v2bds1bQdEmCpTPSF678mYitOStanutPXPnVUXnuypux2HBU7u9N02/qZspKXhSVlzJe6cql9Cej8vp89yEHbq077grkvyiw4XiIiivfXe+ZzjpyktF4sJN0tXVhlahovU7rWRZtRPk4zxhJlprH7FVtf1KQRfl6YuQyjVNxs7VWxgmW+ipJVKqli1y5vze1N1SCjO7wtr2GWZ+RK9/7verKlUqjrlyPOnsaisr0sMnnez9FKFgoEm9gUQVIsIxTc+WFzfS0P/IlxU/n++e22+zHd9pX51m8zAS14hnBmcwLqeMULu8pQbZ8uU4tAhb58HZTBilpb1MoX0jq1NJPg8RpWFdvNnMpmRvQbfS0vdq+rF49vAv5tcVcppIh6CadtiypWm9Pw4RJ7mCJqhjzkammYW6aU3eRa+ZkuXdw0BnidDsHeCcEN5Dy9JLmJeBm+untWWz8dZyh0+dPYfhjvsOTQyfzwC2LuHKA72RkvgMAAAAAAAB8EnK7vXcP/iU4M2Pfmkv9Vr0Bennvj1+F9OTkwhxG1BJb4j4V69zLVdt7fSo4XjCPfLWNXJbMziz+8ReLQ4TwH+A/KPYq6acfaxx3sIia8fE/xTZPSA5V+QeuPP+6+I2sSr7YueLL4eeRp4LN8w5nMJWfTE4uZU3ndmWmS+nngaUxN5w4ndYkLpUvz6SUdUQXVvjiynPpIY+ZCNlZacvyxYImQZyZKuU3DpUkLY7/dhpZluzwrYaRfQax1Af4NcprMezbeeSp8cf8KU7xxRWYEaaUPoctLKN+vPASjVxFqbw4KZ7XcS+SfIeSq1br2hkH4CuF2uf14xtlzS9P8rr7qLelttPIumT90J8luHG9sGUQoT/Ar+F35TKCvhX/kFdbdaWWK3fM8UaLjrOMjXisUD5L+SRHytMU0NiywXNhSvVikXPlZNhH3b9Qfd0RsuZ1+o3cLlk9iC2N3GmQhxBcOfwyfa5cLt/lYjlKQfgvAjmj8vk2fNdCd1Re/Jgn274u07SE9f7fvYhc5RtiRNbk5nflheXtFIVy5dXXfa780qg8pd5HpZE7DSL0B/g1/Llyc6rof5g8d2bWcuW3UWfenyu3luKJJmFZwjLNIczC89S9YSUEdrrysvKuqLz+uieRfHGuvFLEoUOnQYT6AD9HvIKNk8NnfkTvVGje6Tp57sxU0qOJfazLb/pvTc8OllJ5mXu9N+a48e2RdrGuWlWtNDbldOfKT8tXcuVZler1vlx5xw6Woo9EyeSy00aCxX+9sJ0r7/iVFeB7EdsrjiVs427Px0M5T3x+t0yN52Fcdl+qJ34zdzKokjIVm2dCkp8LxUK/IedoZL5dxOfKbctL8XPIH6vX92euHSz+feWi20XJeK9N+2svCvYYBE8O/xWDu7hNrs9Pskx+J9+ab/5WvQGGuTR6YQYBAHw1M3dmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5PwD2pDiJ15pwAcAAAAASUVORK5CYII=" alt="" />

密码重置成功,可重新登录。

参考链接:

https://www.cnblogs.com/zhi-leaf/p/5994478.html

MySQL设置密码复杂度的更多相关文章

  1. MySQL密码复杂度策略

    前言 MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格.使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置. 本文采 ...

  2. MySQL密码复杂度与密码过期策略介绍

    前言: 年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等.特别是进行等保评测时,评测机构会要求具备密码安全策略.其实 MySQL 系统本身可以设置密 ...

  3. 为WAMP中的mysql设置密码(默认为空)

    为WAMP中的mysql设置密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. 提示 ...

  4. CentOS设置密码复杂度及过期时间等

    我们在使用linux系统设置密码的时候,经常遇到这样的问题,系统提示:您的密码太简单,或者您的密码是字典的一部分.那么系统是如何实现对用户的密码的复杂度的检查的呢? 系统对密码的控制是有两部分(我知道 ...

  5. linux下设置密码复杂度限制,怎么设置?

    在linux,设置密码复杂度的方法有几个1. 一个是在/etc/login.defs文件,里面几个选项PASS_MAX_DAYS 90 #密码最长过期天数PASS_MIN_DAYS 80 #密码最小过 ...

  6. WAMP中的mysql设置密码

    为WAMP中的mysql设置密码密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. ...

  7. WAMP中的mysql设置密码(默认密码为空)及phpmyadmin的配置

    来自:  http://wenku.baidu.com/link?url=J4K28e1kt-_ykJLsOtS1b5T6hKj5IzL5hXSKIiB133AvPCUXLlxGKScsBsxi0mA ...

  8. mysql设置密码

    mysql如何设置密码 有很多方法: 1.用root 进入mysql后 mysql>set password =password('你的密码'); mysql>flush privileg ...

  9. MySQL设置密码的三种方法

    其设置密码有三种方法: a. ./mysqladmin -u root -p oldpassword newpasswd(记住这个命令是在/usr/local/mysql/bin中外部命令) b. S ...

随机推荐

  1. Java 基础 集合框架

    Java中的集合从类的继承和接口的实现结构来说,可以分为两大类: 1 继承自Collection接口,包含List.Set和Queue等接口和实现类. 2 继承自Map接口,主要包含哈希表相关的集合类 ...

  2. js三种经典排序:冒泡排序、插入排序、快速排序

    冒泡排序: function bubbleSort(arr){ for(var r=1;r<arr.length-1;r++){ for(var i=0;i<arr.length-r;i+ ...

  3. 学习Struts--Chap02:Struts2框架各个功能模块和程序执行流程的介绍

    1.Struts2的系统架构: 2.架构中不同Key的作用介绍: servlet Filters:过滤器链,client的全部请求都要经过Filter链的处理. Struts Core:Struts2 ...

  4. js中的iterable用法

    iterable字面意思:可迭代的,可重复的 . 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Se ...

  5. 控制WinForm中Tab键的跳转

    一,需求 在Winform中,默认情况下,按下Tab键,光标会按照我们设定的TabIndex值从小到大进行跳转. 但如果用户要求按下Tab键跳转到特定的控件,这种要求还是很合理的,比如用户只想输入几个 ...

  6. ASP.NET Core使用Razor页面

    ASP.NET Core使用Razor页面 Razor是ASP.NET的页面引擎,在ASP.NET MVC 3以后被广泛使用,我在之前的博客中有所介绍,需要更多了解的朋友请移步[Razor语法] 在A ...

  7. Cocos Creator下删除AnySDK步骤

    1.删除 frameworks/runtime-src/Classes 下的 jsb_anysdk_basic_conversions.cpp manualanysdkbindings.cpp jsb ...

  8. 【问题与解决】Mac OS通过 npm 安装 React Native 报错(checkPermissions Missing write access to /usr/local/lib/node_modules)

    报错情况: 当Mac OS通过 npm 安装 React Native 报错,警告文字为:checkPermissions Missing write access to /usr/local/lib ...

  9. HTTPS之acme.sh申请证书

    1.关于let's encrypt和acme.sh的简介 1.1 let's encrypt Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安 ...

  10. [Linux] - CentOS运行DotNet Web程序

    文章说明 在Linux(CentOS)是运行C#的Web应用程序,这里使用及讲解的是Jexus服务器安装及配置.非ASP.net Core 安装步骤 一.下载及安装Mono yum install y ...