MySQL8的密码策略
解释: 由于valiadte_password
策略。密码强度需要非常高,所以有时候密码都无法成功修改。了解完下面变量就能解决了。
validate_password.policy
:密码策略,检查用户的密码。0
:(Low)密码长度最少8个字符1
:(Mediumpolicy)至少包含1个数字,1个小写字母,1个大写字母和1个特殊字符组成(默认值)2
:(Strongpolicy)长度为4或更长的密码子字符串不得与字典文件中的单词匹配
validate_password.length
:需要密码最小字符数,默认为8validate_password.number_count
:需要密码的最小数字字符数,默认为1validate_password.mixed_case_count
:需要密码的小写和大写的最小字符数,默认为1validate_password.special_char_count
:需要密码的特殊字符的最小字符数,默认为1validate_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的密码策略的更多相关文章
- mysql8修改密码问题
查看初始密码: grep "temporary password" /var/log/mysqld.log 查看validate_password变量 SHOW VARIABLES ...
- mysql5.7 密码策略
查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+-------------------------------------- ...
- MYSQL57密码策略修改
1.查看当前的密码测试 show variables like 'validate_password%';
- Windows 2008修改密码策略方法
Windows Server 2008默认强制要求定期更改密码,这个功能有时实在是让人烦不胜烦,适当情况下可以考虑关闭. 方法如下: 1.按windows键+R(或者点开始---动行)打开运行窗口,输 ...
- MySQL5.7.12新密码登录方式及密码策略
在Centos6.6上安装MySQL5.7.12时,遇到了一个问题 安装后在/root目录下没有发现有.mysql_secret这个文件,所以没有没法按照官方文档上说的那样使用,这里记录下, 解决方式 ...
- WindowsServer2012 取消密码策略
1.打开“组策略管理”界面:管理工具 >> 组策略管理,如果找不到该功能,则需要先安装,在“服务管理器”里面“添加新功能”.(或者:开始——运行——gpmc.msc) 2.依次打开“林”& ...
- 略过 Mysql 5.7的密码策略
之前从mysql 5.6的时候,mysql 还没有密码策略这个东东,所以我们每个用户的密码都可以随心所欲地设置,什么123 ,abc 这些,甚至你搞个空格,那也是OK的. 而mysql.user 表里 ...
- Windows2008修改密码策略简单介绍
Windows2008修改密码策略简单介绍 Windows的密码策略,确实是挺繁琐的,刚接触SharePoint2010,装的windows2008 R2,就遇到了改密码策略的问题. 打开本地安全策略 ...
- pam密码策略
PAM 的使用历史 PAM 是关注如何为服务验证用户的 API.在使用 PAM 之前,诸如 login(和 rlogin.telnet.rsh)之类的应用程序在 /etc/passwd 中查找用户名, ...
随机推荐
- [笔记] Git 冲突处理
这是一篇关于 git 解冲突的笔记,没有什么干货. TortoiseGit 小乌龟 通常情况下,会比较喜欢使用小乌龟解冲突,详见:git 使用 tortoisegit 解冲突 但部分复杂的场景,反而需 ...
- centos7安装jdk1.7(rpm版)
一.环境 centos7 jdk-7u80-linux-x64.rpm下载:链接:https://pan.baidu.com/s/10UMrxNE1d2ZbDt7kvBM1yQ 提取码:pmov ...
- FastReport的模板文件frx文件啊怎样打开并编辑修改
场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- 小鸟初学Shell编程(九)环境变量变量配置文件
介绍 在上一篇使用完了环境变量,并且知道PATH环境变量概念,那么我们对命令的执行就有了一定深入的理解.那么PATH环境变量或其他环境变量是保存在哪呢?那么这篇文章主要介绍环境变量配置文件. 配置文件 ...
- Android 自定义水平进度条的圆角进度
有时项目中需要实现水平圆角进度,如下两种,其实很简单 下面开始看代码,先从主界面布局开始看起: <?xml version="1.0" encoding=" ...
- ES项目实战
前置 ES: Java Spark/Flink Stack + Spring Boot + ES Scala/Java + Java/Scala + Java ==> 用API的方式来掌握ES的 ...
- Innodb整体架构
如下图展示了Innodb内存中和磁盘的结构: 内存中结构主要有如下几种: buffer pool change buffer adaptive hash index (自适应的hash索引) Log ...
- Mongodb分片 学习小结
前一篇 https://www.cnblogs.com/frx9527/p/mongodb.html 学会搭建复制集Replication之后,就可以学习分片Sharding了. 教程建议看官方文档: ...
- Rust中的所有权,引用和借用
这个有意思,指针解释获新生!!! fn main() { let mut s = String::from("hello"); s.push_str(", world!& ...
- pdfium 保存pdf
// // Created by svenj on 2019/2/3. // extern "C" { #include <unistd.h> #include < ...