MySQL 8.0 参考手册  / 第 6 章 安全  / 6.4 安全组件和插件  / 6.4.3 密码验证组件  /  6.4.3.1 密码验证插件安装

6.4.3.1 密码验证插件安装

本节介绍如何安装 validate_password密码验证插件。有关安装插件的一般信息,请参阅 第 5.5.1 节,“安装和卸载插件”

笔记

如果您使用 MySQL Yum 存储库安装 MySQL 5.7 , MySQL SLES 存储库Oracle 提供的 RPM 包validate_password在您首次启动 MySQL 服务器后默认启用 。

为了被服务器使用,插件库文件必须位于MySQL插件目录(由plugin_dir系统变量命名的目录)中。plugin_dir如有必要,通过在服务器启动时 设置值来配置插件目录位置 。

插件库文件的基本名称是 validate_password. 文件名后缀因平台而异(例如,.so对于 Unix 和类 Unix 系统,.dll对于 Windows)。

要在服务器启动时加载插件,请使用 --plugin-load-add选项命名包含它的库文件。使用这种插件加载方法,每次服务器启动时都必须给出该选项。例如,将这些行放在服务器 my.cnf文件中, .so根据需要调整平台的后缀:

[mysqld]
plugin-load-add=validate_password.so

修改my.cnf后重启服务器使新设置生效。

或者,要在运行时加载插件,请使用此语句,.so根据需要调整平台的后缀:

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

INSTALL PLUGIN加载插件,并将其注册到mysql.plugins 系统表中,以便为后续的每次正常服务器启动加载插件,而无需 --plugin-load-add.

要验证插件安装,请检查 INFORMATION_SCHEMA.PLUGINS表格或使用SHOW PLUGINS语句(请参阅第 5.5.2 节,“获取服务器插件信息”)。例如:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'validate%';
+-------------------+---------------+
| PLUGIN_NAME       | PLUGIN_STATUS |
+-------------------+---------------+
| validate_password | ACTIVE        |
+-------------------+---------------+

如果插件无法初始化,请检查服务器错误日志以获取诊断消息。

如果插件之前注册过 INSTALL PLUGIN或者加载过 --plugin-load-add,可以使用--validate-password服务器启动时的选项来控制插件的激活。例如,要在启动时加载插件并防止它在运行时被删除,请使用以下选项:

[mysqld]
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

如果希望防止服务器在没有密码验证插件的情况下运行,请使用 or --validate-password的值,如果插件未成功初始化,则强制服务器启动失败。 FORCEFORCE_PLUS_PERMANENT