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 '123456789';

提示错误

[SQL]alter user 'root'@'localhost' identified by '123456789';

[Err]1819 - 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=0; # 关闭密码复杂性策略

mysql> set global validate_password_length=1; # 设置密码复杂性要求密码最低长度为1

mysql> select@@validate_password_policy; # 查看密码复杂性策略

mysql> select @@validate_password_length; # 查看密码复杂性要求密码最低长度大小

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

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

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

参考链接:

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

mysql用户口令复杂度_MySQL设置密码复杂度相关推荐

  1. mysql用户及权限管理_MySQL 用户及权限管理

    1.mysql用户的定义 在mysql中,用户由用户名和主机域组成的. 1.1 用户名的写法 mysql> create user test1@'localhost'; 注意:用户名不要以数字. ...

  2. mysql fulsh_MYSQL教程:MySQL用户帐号管理_MySQL

    MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理.这两个指令实质是通过操作user(连接权限和全局权限).db(数据库级权限).tables_priv(数据表级 ...

  3. mysql 用户赋予全部权限_mysql 给用户赋值权限

    解决办法 grant all privileges on *.* to joe@localhost identified by '1'; flush privileges; 拿 joe 1 登陆 附: ...

  4. MyBatis下MySqL用户口令不能为空

    jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3308/test jdbc.username=test jdbc. ...

  5. mysql用户关注店铺表_MySQL关于用户关注粉丝表设计方案的思考

    方案一 follow(关注关系表) 字段名 类型 索引 注解 id primaryKey() user_id integer()->unsigned()->notNull() normal ...

  6. mysql用户信息备份还原_mysql迁移之新建用户、备份还原数据库

    事例 ➜ 1 mysql -uzixie -p'zixie' game < /temp/zixie_back.sql mysql: [Warning] Using a password on t ...

  7. Mysql 用户密码遗忘后,重新设置密码

    mysql密码重置 网上有很多资料教你重置密码我这里不再过多的描述,给大家找了两篇很典型的,但是确实没成功,也许你按照如下两篇博客流程走就成功了: 网上案例1重置密码遇到ERROR 1045 (280 ...

  8. mysql弱口令是什么意思_MYSQL用户root密码为弱口令又一攻击方法

    转自论坛作者未知. 请与我们联系. 前天,我发了一张关于MYSQL用户ROOT密码为空的贴,在网上我也找到一些利用此漏洞的方法,一般就是写一个ASP或PHP的后门,不仅很麻烦,而且还要猜解网站的目录, ...

  9. mysql设置用户密码的方法_mysql设置用户密码的几种方法

    本节我们讨论如何设置mysql用户密码: 首先我们应该知道Mysql数据库中的口令存储必须用password()函数加密它.因为在user表中是以加密形式存储口令,而不是作为纯文本.如果你没有加密,直 ...

最新文章

  1. 给妹子讲python-S01E19解析Python内嵌作用域与函数闭包
  2. mysql5.7.17主从_MySQL 5.7主从不停机添加新从库
  3. 在MATLAB中使用tensorflow
  4. 第四范式携手宁德时代 共建智能制造AI新基础设施
  5. 利用Math.random做背景图像随机切换【前端开发技能必备系列】
  6. Linux下的网卡驱动程序的编写过程(转)
  7. Linux服务器 -- 安全篇
  8. HTML5 canvas元素绘制花朵等
  9. 博主个人用的duilib版本
  10. 单片机USB2.0高速接口实现方案
  11. 颜色特征识别—识别红色,黄色,绿色,蓝色排针的数量
  12. 对数函数图像增减性质
  13. python tcp socket.connect() [Errno 56] Socket is already connectedconnect
  14. 把脉城市交通 共商缓堵良策
  15. SQL service 建数据库、表和备份还原数据库
  16. 算法策略 | MACD跨周期短线交易策略开发(股指+商品双版)
  17. 离开谷歌回归斯坦福,“AI女神”李飞飞新动向揭晓
  18. Excel技巧—名称框的妙用
  19. 泰山OFFICE技术讲座:标点关系穷举研究-07
  20. spring alibaba seata 分布式事务实践

热门文章

  1. 推广引流核心就是就是坚持!
  2. Request简单介绍
  3. vivox27升级鸿蒙,vivo x27 系统要不要升级?
  4. python之路-列表生成式、迭代器、生成器、装饰器
  5. 蓝牙耳机哪个牌子好?无线蓝牙耳机前十排名
  6. 【小技巧】提取PDF中某一页或多页并保存为新pdf
  7. java截取字符串的长度substring()
  8. r roc函数_R语言绘制ROC曲线
  9. 转:听话,是一个员工最没用的品质!
  10. html文本缩进自动换行,如何实现网页文字的自动换行