默认安装的MySQL有密码安全策略,当本地部署且不可远程登录的时候这一安全策略就显得很麻烦,本文将修改默认的MySQL密码安全策略。
警告
修改MySQL默认的安全策略并使用低安全性的密码将导致数据泄露或丢失。由此导致的任何后果与本文作者无关。
MySQL的默认密码安全策略
密码长度大于等于8位,满足至少有1个数字,小写字母,大写字母和特殊字符。
安全策略查询和释义
查询安全策略
首先通过mysql -uroot -p
后输入密码连接到数据库,然后使用SHOW VARIABLES LIKE 'validate_password%';
查询当前的密码策略:
1 | mysql> SHOW VARIABLES LIKE 'validate_password%'; |
各项安全策略说明
validate_password_policy
:密码策略,默认是MEDIUM
可配置的值有以下:0
orLOW
仅需需符合密码长度(由参数validate_password_length
指定);1
orMEDIUM
满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符;2
orSTRONG
满足MEDIUM策略,同时密码不能存在字典文件(dictionary file)中。validate_password_dictionary_file
:密码的字典文件,
当validate_password_policy
设置为STRONG
时可以配置密码字典文件,字典文件中存在的密码无法通过检测。validate_password_length
:密码的最小长度,默认值是8
。validate_password_mixed_case_count
:
当validate_password_policy
设置为MEDIUM
或者STRONG
时,密码中至少同时拥有的小写和大写字母的数量,默认是1
最小是0
;默认是至少拥有一个小写和一个大写字母。validate_password_number_count
:
当validate_password_policy
设置为MEDIUM
或者STRONG
时,密码中至少拥有的数字的个数,默认1
最小是0
。validate_password_special_char_count
:
当validate_password_policy
设置为MEDIUM
或者STRONG
时,密码中至少拥有的特殊字符的个数,默认1
最小是0
。
修改安全策略
修改安全策略的统一格式是:
1 | set global parameter=value; |
举例来说:
1 | # 设置密码强度等级为LOW(仅需满足密码长度) |