在 MySQL 8.0 中,
validate_password
插件被重新实现为validate_password
组件。该
validate_password
插件已弃用;希望在未来的 MySQL 版本中将其删除。
当前使用该
validate_password
插件的 MySQL 安装应该改为使用该validate_password
组件。为此,请使用以下过程。该过程会在卸载插件之前安装组件,以避免出现不进行密码验证的时间窗口。(组件和插件可以同时安装。在这种情况下,服务器会尝试使用组件,如果组件不可用则回退到插件。)
安装
validate_password
组件:INSTALL COMPONENT 'file://component_validate_password';
测试
validate_password
组件以确保它按预期工作。如果您需要设置任何 系统变量,您可以在运行时使用 . (必须进行的任何选项文件更改都在下一步中执行。)validate_password.
xxx
SET GLOBAL
调整对插件系统和状态变量的任何引用,以引用相应的组件系统和状态变量。假设您之前使用如下选项文件在启动时配置了插件:
[mysqld] validate-password=FORCE_PLUS_PERMANENT validate_password_dictionary_file=/usr/share/dict/words validate_password_length=10 validate_password_number_count=2
这些设置适用于插件,但必须修改才能应用于组件。要调整选项文件,省略该
--validate-password
选项(它仅适用于插件,不适用于组件),并将系统变量引用从适用于插件的无点名称修改为适用于组件的带点名称:[mysqld] validate_password.dictionary_file=/usr/share/dict/words validate_password.length=10 validate_password.number_count=2
对于在运行时引用
validate_password
插件系统和状态变量的应用程序,需要进行类似的调整。将无点插件变量名称更改为相应的点组件变量名称。卸载
validate_password
插件:UNINSTALL PLUGIN validate_password;
如果
validate_password
插件是在服务器启动时使用--plugin-load
或--plugin-load-add
选项加载的,请在服务器启动过程中忽略该选项。例如,如果该选项列在服务器选项文件中,请将其从文件中删除。重新启动服务器。