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参数是密码中至少含有的数字个数,当密码策略是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%‘;
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)

MySQL 5.7修改密码

5.7版本的MYSQL的用户表的密码字段变了,不再是password字段,而是authentication_string字段。

然后改密码可以用:

update mysql.user set authentication_string=password(‘密码‘) where user=‘root‘ and Host = ‘localhost‘;

或者

set password for ‘root‘@‘localhost‘=password(‘密码‘);
时间: 2024-10-20 23:38:30

MySQL 5.7 密码策略的相关文章

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

mysql 修改密码策略

show variables like 'validate_password%'; 查看密码策略 | validate_password_check_user_name | OFF || validate_password_dictionary_file | || validate_password_length | 0 || validate_password_mixed_case_count | 0 || validate_password_number_count | 0 || valid

mysql root强密码的必要性max_allowed_packet被改成1024引起的风险

前两天运维反馈说,有些机器的max_allowed_packet隔两天就会被改成1024,导致客户端调用时出错,网上有说内存不够的,也有人工修改的. 运维小姑娘一口咬定肯定没有改过的,而且my.cnf中包含了. 昨天下班前开了general_log,早上过来grep "SET" | grep -A10 -b10 "packet"一遍,果然被攻击后修改了. 要求强密码策略. 主要是mysql没有设置密码策略,以及连续n次登录错误后没有自动锁定账号导致,截止最新5.7.

mysql5.7 密码策略

查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+--------------------------------------+--------+| Variable_name | Value |+--------------------------------------+--------+| validate_password_dictionary_file | || validate_password_length | 8

MySQL8的密码策略

解释: 由于valiadte_password策略.密码强度需要非常高,所以有时候密码都无法成功修改.了解完下面变量就能解决了. validate_password.policy:密码策略,检查用户的密码. 0:(Low)密码长度最少8个字符 1:(Mediumpolicy)至少包含1个数字,1个小写字母,1个大写字母和1个特殊字符组成(默认值) 2:(Strongpolicy)长度为4或更长的密码子字符串不得与字典文件中的单词匹配 validate_password.length:需要密码最小

MySQL忘记root密码后修改

MySQL忘记root密码后可以使用下面的方法修改. 1.登录MySQL所在的服务器,手工kill掉MySQL进程 kill `cat $mysql_data_dir/hostname.pid` $mysql_data_dir/hostname.pid为MySQL数据目录,它记录了MySQL服务的进程号. [[email protected] ~]# ps -ef |grep mysql root      6602     1  0 21:39 ?        00:00:00 /bin/s

Linux下使用MySQL——忘记root密码及修改MySQL默认编码

概述: 本博客不再对MySQL的语法进行讲解和说明,想了解或熟悉的朋友请自行百度或Google学习.本博客主要是针对MySQL除语法之外的总结,希望能够也能帮助到你. 1.CentOS6.x下MySQL忘记root密码解决方法 Ⅰ. 修改MySQL的登录设置 # vim /etc/my.cnf 在[mysqld]段中加上一句:skip-grant-tables Ⅱ. 重启服务 # service mysqld restart Ⅲ. 登录Mysql,修改密码信息 # mysql mysql> US

Win7修改密码策略

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

Mac平台重新设置MySQL的root密码

Mac OS X - 重置 MySQL Root 密码 您是否忘记了Mac OS 的MySQL的root密码? 通过以下4步就可重新设置新密码: 1.  停止 mysql server.  通常是在 '系统偏好设置' > MySQL > 'Stop MySQL Server' 2.  打开终端,输入: sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 3.  打开另一个新终端,输入: sudo /usr/local/mysql/