默认安装的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
可配置的值有以下:0orLOW仅需需符合密码长度(由参数validate_password_length指定);1orMEDIUM满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符;2orSTRONG满足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(仅需满足密码长度) |

