Mysql8配置密码校验和防暴力破解

与之前版本略有不一样,mysql8配置密码校验是使用安装组件形式配置的,而防暴力破解跟之前是一样的是插件安装方式。

1.开启密码校验方式

先登陆mysql,输入命令:show variables like 'validate_password%';查看是否已存在密码校验。

若没有,则安装组件,执行命令:INSTALL COMPONENT 'file://component_validate_password';

然后再执行:INSTALL COMPONENT 'file://component_validate_password';查看是否已启用;


mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| 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      |
+--------------------------------------+--------+
6 rows in set (0.00 sec)

可通过执行命令:set global validate_password.length = 10;修改密码校验长度,其他配置项修改也都可以这样修改。

各个属性参数的意义参考:https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html

2.防暴力破解,即配置连接控制

这个我知道的有两种方式来配置,先看看mysql是否已经存在这个插件及配置了,输入命令:

show variables like 'connection_control%';

第一种方式,在mysql中安装插件:

登陆mysql,执行两个命令:

INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';

INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';

(注:如果报错,Plugin 'CONNECTION_CONTROL' is not loaded,可能是配置文件权限不够,需要修改mysql配置文件my.cnf权限:chmod 644 my.cnf,  修改后重启mysql服务再执行上述两行命令。)

再执行命令:show variables like 'connection_control%';查看配置项,

Mysql8配置密码校验和防暴力破解_第1张图片

 修改配置项命令:set global 配置项 = 值;

这里不多介绍各个属性的含义,想知道可以看这里:https://dev.mysql.com/doc/refman/8.0/en/connection-control-variables.html

第二种方式,配置文件中启用:

在mysql配置文件my.cnf中添加如下配置项:

[mysqld]

# 加载插件

plugin-load-add=connection_control.so

# 防止运行过程中被篡改,即没有这个插件就会报错

connection-control=FORCE_PLUS_PERMANENT

connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT

你可能感兴趣的:(MySQL,数据库,mysql,数据库)