龙空技术网

MySQL:密码复杂度设置

零壹问道 77

前言:

此刻咱们对“mysql80设置密码”可能比较重视,我们都想要知道一些“mysql80设置密码”的相关文章。那么小编同时在网摘上搜集了一些关于“mysql80设置密码””的相关文章,希望咱们能喜欢,同学们快快来了解一下吧!

MySQL对用户密码强度有比较灵活的设置,可以根据实际系统需要对密码复杂度进行设置,具体步骤与注意事项如下:

1、检查是否开启密码复杂度校验:

mysql> show variables like '%validate%';+-----------------------------------+-------+| Variable_name                             | Value  |+-----------------------------------+-------+| query_cache_wlock_invalidate     | OFF    |+-----------------------------------+-------+1 row in set (0.00 sec)
2、若开启,则不用执行以下步骤,如果未开启,需要开启。

启用密码复杂度插件,在mysql中执行以下命令:

mysql>INSTALL PLUGIN validate_password SONAME 'validate_password.so';
3、开启之后默认配置检查:
mysql> show variables like 'validate%';+-----------------------------------------+--------+| Variable_name                                      | Value   |+-----------------------------------------+--------+| validate_password_check_user_name   | ON      || validate_password_dictionary_file         |            || validate_password_length                     | 8         |     #密码至少8个长度| validate_password_mixed_case_count  | 1         |     #至少1个大小写字符| validate_password_number_count        | 1         |     #至少1个数字| validate_password_policy                      | MEDIUM | #密码策略默认中度| validate_password_special_char_count | 1         |      #至少1个特殊字符+-----------------------------------------+--------+

若想永久生效,建议将以下参数写入配置文件my.cnf

[mysqld]plugin-load = validate_password.sovalidate_password_length = 10validate_password_policy = 1validate-password = FORCE_PLUS_PERMANENT

说明:密码强度开启对现有用户密码无影响,对之后创建账号或者修改密码会严格校验密码是否符合要求。

4、注意事项

在使用密码复杂度插件时,如果使用CREATE语句同时创建两个用户,会出现一个用户创建成功而另外一个用户创建失败的情况,会在主库在 binlog 里写一条 INCIDENT_EVENT,导致主从复制关系异常。

参考资料

标签: #mysql80设置密码 #mysqlcmd设置密码