目录
1、查看数据库当前密码策略
show VARIABLES like "%password%";
MySQL默认密码策略比较宽松,通常包括以下规则:
- 密码长度至少为8个字符
- 包含字母、数字和特殊字符
- 不允许使用易猜测的密码
这些规则可以在MySQL的配置文件中设置和修改。但是有时候,我们需要更严格的密码策略来提高数据库的安全性。
2、查看密码插件:
SHOW VARIABLES LIKE 'validate_password%'
3、官方文档策略定义
mysql数据库分为高(2)、中(1)、低(0)。三种密码策略
- 低级密码策略,密码强度一般可以为纯数字
- 中级密码策略,密码强度一般需要字母加数字
- 高级密码策略,密码强度一般需要字母大小写加数字加特殊字符
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 |
4、更改密码策略
临时修改
(1)更改密码策略为LOW,改为LOW或0
mysql> SET GLOBAL validate_password_policy='LOW';
Query OK, 0 rows affected (0.01 sec)
(2)更改密码长度
mysql> SET GLOBAL validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)
(3)设置大小写、数字和特殊字符均不要求。
mysql> SET GLOBAL validate_password_special_char_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_number_count=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)查看
SHOW VARIABLES LIKE 'validate_password%';
永久修改
(1)修改MySQL配置文件
[root@mysql ~]# vi /etc/my.cnf
# 修改validate password policy = LOW
# validate password length = 4
(2)重启
[root@mysql ~]# systemctl restart mysqld