mysql5.7 密码策略

查看现有的密码策略

mysql> SHOW VARIABLES LIKE ‘validate_password%‘;
+--------------------------------------+--------+
| 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)

validate_password_number_count参数是密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。

validate_password_special_char_count参数是密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。

validate_password_mixed_case_count参数是密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。

validate_password_length参数是密码的长度,这个参数由下面的公式生成

validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)

validate_password_dictionary_file参数是指定密码验证的字典文件路径。

validate_password_policy这个参数可以设为0、1、2,分别代表从低到高的密码强度,此参数的默认值为1,如果想将密码强度改若,则更改此参数为0。

创建用户时报错:

mysql> CREATE USER ‘test‘@‘localhost‘ IDENTIFIED BY ‘test‘;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

报错原因:
指定的密码没有符合现有的密码策略。

解决方法:
可以按照现有策略设置密码,也可以更改密码策略。

① 按照现有密码策略指定密码

mysql> CREATE USER ‘test‘@‘localhost‘ IDENTIFIED BY ‘System#2016‘;
Query OK, 0 rows affected (0.16 sec)

② 更改密码策略,降低密码的验证标准

--更改密码策略为LOW
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

--更改密码长度
mysql> set global validate_password_length=0;
Query OK, 0 rows affected (0.00 sec)

--密码最小长度为4
mysql> SHOW VARIABLES LIKE ‘validate_password%‘;
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)

mysql> drop user ‘test‘@localhost;
Query OK, 0 rows affected (0.07 sec)

--创建长度为3的密码报错
mysql> CREATE USER ‘test‘@‘localhost‘ IDENTIFIED BY ‘tes‘;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

--创建长度为4的密码,4为现有密码策略的最小长度
mysql> CREATE USER ‘test‘@‘localhost‘ IDENTIFIED BY ‘test‘;
Query OK, 0 rows affected (0.01 sec)

时间: 2024-10-10 14:31:33

mysql5.7 密码策略的相关文章

mysql5.7密码登录的那些坑

mysql5.7密码策略及修改技巧 繁著 关注 2017.08.18 22:41* 字数 522 阅读 10184评论 0喜欢 4 mysql升级5.7版本以后,安全性大幅度上升. MySQL5.7为root用户随机生成了一个密码,打印在error_log中,关于error_log的位置,如果安装的是RPM包,则默认是 /var/log/mysqld.log .于是我们可以在mysqld.log中找到初始密码串: cat /var/log/mysqld.log | grep password 用

MySQL 5.7 的初始化操作(root初始密码、修改密码、密码策略、关闭IPv6监听)

我这里是通过mysql官方的yum源来安装的mysql-community-server ,当前版本是MySQL 5.7.12 . wget  rpm -ivh  mysql57-community-release-el6-8.noarch.rpm yum install mysql-community-server service mysqld start 第一次启动后会有个初始化的过程,会产生root账户的随机密码. 为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在err

mysql5.7密码设置

mysql5.7版本引入了强制更改密码的举措,只能吐槽一句,shit!mysql5.7安装安装完mysql之后,mysql已经随机指定了一个初始化密码,可以在mysql的错误日志中找到初始化密码: cat /var/log/mysqld.log | grep password 2018-07-05T05:02:46.258821Z 0 [ERROR] unknown variable 'validate_password_policy=0' 2018-07-05T05:05:04.538912Z

Win7修改密码策略

第一步.Win+R打开cmd窗口输入gpedit.msc 第二步.修改密码策略(打开"计算机配置"-->"安全设置"-->"账户策略"-->"密码策略") 第三步.修改密码复杂度.密码使用期限 第四步.设置密码锁定次数 第五步.cmd下设置密码[net user administrator Hell0!jie]

pam密码策略

PAM 的使用历史 PAM 是关注如何为服务验证用户的 API.在使用 PAM 之前,诸如 login(和 rlogin.telnet.rsh)之类的应用程序在 /etc/passwd 中查找用户名,然后将两者相比较并验证用户输入的名称.所有应用程序使用了这些共享服务,但是并未共享实现细节和配置这些服务的权限. 接下来,应用程序开发人员尝试编写自定义过程代码.在此过程中,需要分离应用程序与安全模块(通用安全模块可以在应用程序之间共享并且可以根据需求进行配置). PAM 机制将把多个低级别验证模式

MySQL 5.7 密码策略

在MySQL 5.7版本中,用户密码策略分成低级LOW.中等MEDIUM和超强STRONG三种,推荐使用中等MEDIUM级别. 我们在安装MySQL的时候,会通过如下命令来设置用户密码策略: shell> mysql_secure_installation 使用如下命令查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%'; validate_password_number_count参数是密码中至少含有的数字个数,当密码策略是MED

多元密码策略

在以前Windows Server 2003和之前的版本中,域安全策略只能使用一种,也就是你的域中只能存在一个安全策略:而无法针对不同的部门或个人设置不同密码策略,但是Windows Server 2008之后可以为不同的部门或个人设置不同的密码策略: 要求: 域功能级别必须是Windows Server 2008或以上 是Domain Admins组中的成员 1.点击"开始-管理工具-ADSI编辑器" 2.右击"ADSI编辑器",选择"连接到"

mysql5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change

环境: ubuntu14.04  mysql5.7 一.mysql5.7 密码过期问题 报错: ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords. 翻译: 错误1862(HY000):你的密码已经过期.登录必须改变它使用一个客户端,支持过期的密码. 解决方法: 1. 用忽略授权表的方法进入mysql  

Windows Server 2008 R2 颗粒化密码策略

要求: 域功能级别Windows Server 2008以上 部署颗粒化密码策略的步骤: 1. 先创建Password Policy Object(adsiedit.msc - 加载域分区 - System - Password Settings Container - 右击新建对象 2. 设置具体的密码策略: 第一个"值"= OU策略名 第二个"值[密码设置优先级:当一个用户同时属于多个部门,则该值越小,相应的优先级就越高]"= 10 第三个"值[密码是