6.4.1.2 旧的本机可插入身份验证

MySQL 包含两个实现本机身份验证的插件。就是说,从引入可插入身份验证之前就已经基于使用的密码哈希方法进行身份验证。本节介绍mysql_old_password,它使用较旧的(4.1 之前的版本)本地密码哈希方法对mysql.user系统 table 实现身份验证。有关mysql_native_password(使用本地密码哈希方法实现身份验证)的信息,请参阅第 6.4.1.1 节“本地可插入身份验证”。有关这些密码哈希方法的信息,请参见第 6.1.2.4 节“ MySQL 中的密码哈希”

Note

使用 4.1 之前的哈希方法的密码比使用本地密码哈希方法的密码安全性较低,应避免使用。不建议使用 4.1 之前的密码,并在 MySQL 5.7.5 中删除了对它们(包括mysql_old_password插件)的支持。有关帐户升级的说明,请参阅第 6.4.1.3 节“迁移到 4.1 版之前的密码哈希和 mysql_old_password 插件”

下 table 显示了服务器端和 Client 端上的插件名称。

table6.9 旧的本机密码身份验证的插件和库名称

插件或文件插件或文件名
Server-side pluginmysql_old_password
Client-side pluginmysql_old_password
Library file无(内置插件)

以下各节提供特定于旧的本机可插入身份验证的安装和使用信息:

有关 MySQL 中可插拔身份验证的一般信息,请参见第 6.2.13 节“可插入身份验证”

安装旧的本机可插入身份验证

mysql_old_password插件以服务器和 Client 端形式存在:

  • 服务器端插件内置于服务器中,无需显式加载,也无法通过卸载禁用。

  • Client 端插件内置在libmysqlclientClient 端库中,可用于针对libmysqlclient链接的任何程序。

使用旧的本机可插入身份验证

MySQLClient 端程序可以使用--default-auth选项来指定mysql_old_password插件,以提示程序可以使用哪个 Client 端插件:

shell> mysql --default-auth=mysql_old_password ...