MySQL 包含两个实现本机身份验证的插件;也就是说,基于可插入身份验证引入之前使用的密码哈希方法的身份验证。本节介绍,它使用较旧的(4.1 之前的)本机密码哈希方法mysql_old_password
对系统表实施身份验证
。mysql.user
有关
mysql_native_password
使用本机密码哈希方法实现身份验证的信息,请参阅
第 6.4.1.1 节,“本机可插入身份验证”。有关这些密码散列方法的信息,请参阅
第 6.1.2.4 节,“MySQL 中的密码散列”。
使用 pre-4.1 哈希方法的密码不如使用本机密码哈希方法的密码安全,应避免使用。4.1 之前的密码已弃用;期望在未来的 MySQL 版本中删除对它们的支持。有关帐户升级说明,请参阅 第 6.4.1.3 节,“从 4.1 版之前的密码哈希和 mysql_old_password 插件迁移”。
下表显示了服务器端和客户端的插件名称。
以下部分提供特定于旧的本机可插入身份验证的安装和使用信息:
有关 MySQL 中可插入身份验证的一般信息,请参阅第 6.2.11 节,“可插入身份验证”。
该mysql_old_password
插件以服务器和客户端形式存在:
服务器端插件内置于服务器中,无需显式加载,也无法通过卸载来禁用。
客户端插件内置于
libmysqlclient
客户端库中,可用于链接到libmysqlclient
.
MySQL 客户端程序可以使用该
--default-auth
选项指定mysql_old_password
插件,作为程序可以使用哪个客户端插件的提示:
$> mysql --default-auth=mysql_old_password ...
如果帐户行未指定插件名称,则服务器使用
mysql_native_password
或
mysql_old_password
插件对帐户进行身份验证,具体取决于
Password
列中的密码哈希值是使用本机哈希还是旧的 4.1 之前的哈希方法。客户必须匹配Password
帐户行列中的密码。