MySQL密码强度验证修改

MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。

影响的语句和函数有:create user,grant,set password,password(),old password。

1、查看mysql全局参数配置
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.08 sec)

2、参数解释

validate_password_dictionary_file
插件用于验证密码强度的字典文件路径。

validate_password_length
密码最小长度,参数默认为8,它有最小值的限制,最小值为:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

validate_password_mixed_case_count
密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count
密码至少要包含的数字个数。

validate_password_policy
密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。有以下取值:
Policy                 Tests Performed                                                                                                        
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      
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

validate_password_special_char_count
密码至少要包含的特殊字符数。

3、修改mysql参数配置

mysql> set global validate_password_policy=0;  
Query OK, 0 rows affected (0.05 sec)  
  
mysql> set global validate_password_mixed_case_count=0;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> set global validate_password_number_count=3;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> set global validate_password_special_char_count=0;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> set global validate_password_length=3;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> SHOW VARIABLES LIKE ‘validate_password%‘;  
+--------------------------------------+-------+  
| Variable_name                        | Value |  
+--------------------------------------+-------+  
| validate_password_dictionary_file    |       |  
| validate_password_length             | 3     |  
| validate_password_mixed_case_count   | 0     |  
| validate_password_number_count       | 3     |  
| validate_password_policy             | LOW   |  
| validate_password_special_char_count | 0     |  
+--------------------------------------+-------+  
6 rows in set (0.00 sec)

4、添加用户且设置简单的密码

mysql> grant replication slave on *.* to ‘replicate‘@‘127.0.0.1‘ identified by ‘123‘;

Query OK, 0 rows affected (0.01 sec)

原文地址:https://www.cnblogs.com/Sky-Raining/p/9876475.html

时间: 2024-07-31 17:37:45

MySQL密码强度验证修改的相关文章

xampp默认mysql密码设置,修改mysql的默认空密码

xampp默认mysql密码设置,修改mysql的默认空密码 分类: xampp2012-09-12 11:24 30264人阅读 评论(5) 收藏 举报 mysqlphpmyadminauthentication数据库管理工具数据库extension 以前开发我一直都是用的appserv,appserv的特点就是一键安装,安装的时候会要求用户输入mysql的root密码.今天我改用xampp作为我的开发环境,所以碰到了修改mysql默认空密码的问题. 我看了下网上所提供的一些帮助信息,搞的那么

mysql密码忘记或修改密码的解决办法

今天在连接mysql的时候,发现老是提示连接到localhost失败,找了原因,是前两天密码被非法修改了.现在不知道root登陆密码,又想连接到数据库,网站找了下方法,结合自己的实践,总结如下: 1.在my.init文件中的[mysqld]下面加上skip-grant-tables,故名思议,就是跳过授权验证表,直接操作数据库 2.重新启动mysql (net start/stop mysql) 3.在MySQL Command Line Client用root以空密码登陆. 或者在命令行中敲命

公司僵尸帐号引发了一系列的入侵事件-细说密码强度验证的重要性

一.前言 每个公司几乎都会有一个公司的内部系统,每个员工的入职的的时候都会给开一个帐号,一般开帐号的这个人不会考虑帐号的安全性,用户名大多都是员工的姓名或者工号,密码也是姓名或者工号或者123456,如果可以输入123的话估计就设置123了,哈哈,那么问题就来了.如果这个员工不用这个系统不用这个系统或者不重置密码,很容易让别人登录的,导致公司内部的系统信息外泄,损失惨重. 最近公司的内部系统发现了异常,一些帐号在一些奇怪的地方登录,密码几乎大部分是弱密码,什么123456,123abc,6543

Mysql密码忘记怎么修改?

一.首先将MySQL的服务关闭 三种方法: 1.打开命令行输入net stop mysql或者net stop mysql5命令即可关闭MySQL服务. 2.由于本人电脑不知为何不能这样关闭所以只能采用第二种方法,在运行窗口中输入services.msc打开服务窗口,找到mysql服务并手动停止. 3.如果是用xampp集成安装的mysql,那打开XAMPP Control Panel,停止mysql. 二.执行命令修改密码 在DOS下进到mysql安装目录,输入mysqld --skip-gr

密码强度验证

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .passport-form .form-cont { position: relative; line-height: 26px;}.passpo

忘记mysql密码,如何修改 密码

版权声明:博客将逐步迁移到 http://cwqqq.com https://blog.csdn.net/cwqcwk1/article/details/17262655 MySQL的 root 帐号密码默认为空,经常都有修改密码后忘记密码的事.如果忘记了root 帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方式来解决这个问题.本文分别对Windows环境与Linux环境下介绍MySQL忘记密码时修改密码的方法,希望帮助初学者解决丢失密

js正则表达式之密码强度验证

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

初学js正则表达式之密码强度验证

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

MySQL密码管理、存储引擎及事务

MYSQL密码管理: 修改用户密码: (1) SET PASSWORD [FOR 'user'@'host'] = PASSWORD('cleartext password'); (2) UPDATE mysql.user SET Password=PASSWORD('cleartext password')  WHERE User='USERNAME' AND Host='HOST'; (3) mysqladmin -uUSERNAME -hHOST -p  password 'NEW_PAS