Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Transitioning to the Password Validation Component

8.4.3.3 过渡到密码验证组件

Note

在 MySQL 8.4 中,validate_password 插件被重新实现为 validate_password 组件。 validate_password 插件已弃用,预计将在未来的 MySQL 版本中删除。

当前使用 validate_password 插件的 MySQL 安装应该将其转换为使用 validate_password 组件。要实现此转换,请按照以下步骤进行。该步骤将安装组件,然后卸载插件,以避免在没有密码验证的情况下出现时间窗口(插件和组件可以同时安装。在这种情况下,服务器将尝试使用组件,如果组件不可用,则 fallback 到插件。)

  1. 安装 validate_password 组件:

    INSTALL COMPONENT 'file://component_validate_password';
  2. 测试 validate_password 组件,以确保其工作正常。如果您需要设置任何 validate_password.xxx 系统变量,可以使用 SET GLOBAL。(任何需要更改的选项文件更改将在下一步中进行。)

  3. 调整任何插件系统变量和状态变量的引用,以便将其更改为对应的组件系统变量和状态变量。假设您之前使用选项文件在启动时配置插件,如下所示:

    [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 插件系统变量和状态变量的应用程序也需要进行调整。将插件变量名称从不带点的插件名称更改为带点的组件名称。

  4. 卸载 validate_password 插件:

    UNINSTALL PLUGIN validate_password;

    如果 validate_password 插件在服务器启动时使用 --plugin-load--plugin-load-add 选项,则从服务器启动过程中删除该选项。例如,如果该选项列在服务器选项文件中,则从文件中删除。

  5. 重新启动服务器。