mysql密码验证规则

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)  

要更换MySQL密码管理规则插件,可以按照以下步骤进行操作: 1. 登录MySQL数据库:使用具有管理员权限的用户账户登录MySQL数据库。 2. 检查当前密码管理规则插件:执行以下SQL语句查看当前使用的密码管理规则插件: ```sql SHOW VARIABLES LIKE 'validate_password%'; ``` 这将列出与密码验证相关的变量,其中`validate_password`开头的变量表示密码管理规则插件。 3. 禁用当前密码管理规则插件:如果需要更换密码管理规则插件,首先需要禁用当前的插件。执行以下SQL语句禁用当前插件(例如,禁用validate_password插件): ```sql SET GLOBAL validate_password.policy = LOW; ``` 这将将密码策略设置为“LOW”,即禁用密码验证规则。 4. 修改密码:执行以下SQL语句修改用户的密码(例如,修改root用户的密码): ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 将`root`替换为要修改密码的用户名,`localhost`替换为相应的主机名,`new_password`替换为新的密码。 5. 启用新的密码管理规则插件:执行以下SQL语句启用新的密码管理规则插件(例如,启用mysql_native_password插件): ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; ``` 这将将用户的身份验证方式设置为`mysql_native_password`插件,并使用新的密码进行身份验证。 6. 刷新权限:执行以下SQL语句刷新权限,使更改生效: ```sql FLUSH PRIVILEGES; ``` 7. 退出MySQL:执行以下SQL语句退出MySQL数据库: ```sql EXIT; ``` 完成以上步骤后,MySQL密码管理规则插件将被更换为新的插件,并且相应用户的密码将会更新。请根据实际情况替换相应的用户名、主机名和新密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值