解释: 由于valiadte_password策略。密码强度需要非常高,所以有时候密码都无法成功修改。了解完下面变量就能解决了。

  • validate_password.policy:密码策略,检查用户的密码。

    • 0:(Low)密码长度最少8个字符
    • 1:(Mediumpolicy)至少包含1个数字,1个小写字母,1个大写字母和1个特殊字符组成(默认值)
    • 2:(Strongpolicy)长度为4或更长的密码子字符串不得与字典文件中的单词匹配
  • validate_password.length:需要密码最小字符数,默认为8

  • validate_password.number_count:需要密码的最小数字字符数,默认为1

  • validate_password.mixed_case_count:需要密码的小写和大写的最小字符数,默认为1

  • validate_password.special_char_count:需要密码的特殊字符的最小字符数,默认为1

  • validate_password.dictionary_file:用于检查密码的字典文件的路径名,默认没有

所以,如果出现报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,你可以:

Set Persist validate_password.policy = 0

只要你的密码长度不低于8个字符就行了,如果密码长度觉得还是长了,你可以:

Set Persist validate_password.length = 0

这样,你的长度是0,但注意,最小字符数不能低于以下表达式的值:

validate_password.number_count
+ validate_password.special_char_count
+ (2 * validate_password.mixed_case_count)

所以你的密码最小长度是4位,然后你可以直接查看:

mysql> Show Variables Like 'validate_password.%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 4 | <-- 尽管你设置的是0,但最小还是4
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.02 sec)

密码强度评估:1 ~ 100

mysql> select validate_password_strength('Password!');
+-----------------------------------------+
| validate_password_strength('Password!') |
+-----------------------------------------+
| 50 |
+-----------------------------------------+
1 row in set (0.00 sec)

下面是官方的一段原话:英文好的可以看看

In MySQL 8.0.4, the validate_password plugin was reimplemented as the validate_password component. The validate_password plugin is deprecated and will be removed in a future version of MySQL. Consequently, its options are also deprecated and will be removed. MySQL installations that use the plugin should make the transition to using the component instead.

以上资料参考官方文档:6.4.3密码验证组件

MySQL8的密码策略的更多相关文章

  1. mysql8修改密码问题

    查看初始密码: grep "temporary password" /var/log/mysqld.log 查看validate_password变量 SHOW VARIABLES ...

  2. mysql5.7 密码策略

    查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+-------------------------------------- ...

  3. MYSQL57密码策略修改

    1.查看当前的密码测试 show variables like 'validate_password%';

  4. Windows 2008修改密码策略方法

    Windows Server 2008默认强制要求定期更改密码,这个功能有时实在是让人烦不胜烦,适当情况下可以考虑关闭. 方法如下: 1.按windows键+R(或者点开始---动行)打开运行窗口,输 ...

  5. MySQL5.7.12新密码登录方式及密码策略

    在Centos6.6上安装MySQL5.7.12时,遇到了一个问题 安装后在/root目录下没有发现有.mysql_secret这个文件,所以没有没法按照官方文档上说的那样使用,这里记录下, 解决方式 ...

  6. WindowsServer2012 取消密码策略

    1.打开“组策略管理”界面:管理工具 >> 组策略管理,如果找不到该功能,则需要先安装,在“服务管理器”里面“添加新功能”.(或者:开始——运行——gpmc.msc) 2.依次打开“林”& ...

  7. 略过 Mysql 5.7的密码策略

    之前从mysql 5.6的时候,mysql 还没有密码策略这个东东,所以我们每个用户的密码都可以随心所欲地设置,什么123 ,abc 这些,甚至你搞个空格,那也是OK的. 而mysql.user 表里 ...

  8. Windows2008修改密码策略简单介绍

    Windows2008修改密码策略简单介绍 Windows的密码策略,确实是挺繁琐的,刚接触SharePoint2010,装的windows2008 R2,就遇到了改密码策略的问题. 打开本地安全策略 ...

  9. pam密码策略

    PAM 的使用历史 PAM 是关注如何为服务验证用户的 API.在使用 PAM 之前,诸如 login(和 rlogin.telnet.rsh)之类的应用程序在 /etc/passwd 中查找用户名, ...

随机推荐

  1. Blazor应用程序基于策略的授权

    原文:https://chrissainty.com/securing-your-blazor-apps-configuring-policy-based-authorization-with-bla ...

  2. The underlying connection was closed: An unexpected error occurred on a send

    操作系统是Windows Server 2003 x64 SP2,使用Framework 4.0,在使用WebClient访问某些特定的HTTPS站点时,会引发异常: Unhandled Except ...

  3. SpringCloud框架

    最近一直在针对SpringCloud框架做项目,从中踩了不少的坑,也渐渐梳理出了一些内容,由于SpringCloud作为一个全家桶,其中东西太多,所以这时候就要有所取舍,这里就想把自己比较常用组件及架 ...

  4. JS 判断设备来源

    1.js代码判断当前设备: function deviceType(){ var ua = navigator.userAgent; var agent = ["Android", ...

  5. MariaDB设置主从复制

    主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置. 配置主服务器 master 如果没有启用,则需要 激活二进制日志. 给 master ...

  6. ansible 模块 roles

    setup 作用,用来查看用看内部的详细信息 ansible_all_ipv4_addresses # ipv4的所有地址 ansible_all_ipv6_addresses # ipv6的所有地址 ...

  7. idea快捷键的使用

    IntelliJ IDEA 问题解决:1.乱码,主要是快捷键的字样显示乱码 中文字体显示乱码? 2.菜单项等的字体太小,怎么能设置下? -------------------------------- ...

  8. 201871010136—赵艳强《面向对象程序设计(java)》第十三周学习总结

    201871010136—赵艳强<面向对象程序设计(java)>第十三周学习总结   博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https:// ...

  9. Nginx内置变量以及日志格式变量

    $args #请求中的参数值$query_string #同 $args$arg_NAME #GET请求中NAME的值$is_args #如果请求中有参数,值为"?",否则为空字符 ...

  10. es6模块化规范

    在 es6 之前是没有块这个概念的,es6zhong 引入:实际如下: 若 xx1 和 xx2 中有变量名相同,且引入在同一 html 下,需要为引入的 script 标签加上 type=“modul ...