修改mysql密码规则

建议个人测试学习使用,切勿在生产环境中使用

--查看规则
mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| 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      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

--修改密码强度等级为0
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

--修改最低密码长度为4   最小值只能是4
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

--对数字的个数没有要求
mysql> set global validate_password_number_count=0;
Query OK, 0 rows affected (0.00 sec)

--对大小写字符没有要求
mysql> set global validate_password_mixed_case_count=0;
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> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 0     |
| validate_password_number_count       | 0     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 0     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
字段 解释
validate_password_dictionary_file 插件用于验证密码强度的字典文件路径。
validate_password_length 密码最小长度,参数默认为8,它有最小值的限制,最小值为4
validate_password_mixed_case_count 密码至少要包含的小写字母个数和大写字母个数。
validate_password_number_count 密码至少要包含的数字个数。
validate_password_special_char_count 密码至少要包含的特殊字符数。
validate_password_policy 密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG

validate_password_policy有以下取值:

等级 要求
0 or LOW 长度
1 or MEDIUM 长度; 数字, 大小写, 以及特殊字符
2 or STRONG 长度; 数字, 大小写, 以及特殊字符;还需要验证密码强度的字典文件
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

再修改简单密码

mysql> alter user 'root'@'localhost' identified by '111111';
Query OK, 0 rows affected (0.00 sec)

如果需要持久化,需要写入配置文件/etc/my.cnf

$ vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#密码相关规则
validate_password_policy=0
validate_password_length=4
validate_password_number_count=0
validate_password_mixed_case_count=0
validate_password_special_char_count=0

#修改事务日志相关的
innodb_log_file_size=1024M
posted @ 2022-12-18 21:46  厚礼蝎  阅读(526)  评论(0编辑  收藏  举报