文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  客户端明文可插拔身份验证

8.4.1.3 客户端明文可插拔身份验证

客户端身份验证插件允许客户端以明文形式将密码发送到服务器,无需进行哈希或加密。此插件内置于 MySQL 客户端库中。

下表显示了插件名称。

表 8.17 明文身份验证的插件和库名称

插件或文件 插件或文件名
服务器端插件 无,请参见讨论
客户端插件 mysql_clear_password
库文件 无(插件已内置)

许多客户端身份验证插件在客户端将密码发送到服务器之前对其进行哈希或加密。这使得客户端可以避免以明文形式发送密码。

对于需要服务器接收客户端输入的明文密码的身份验证方案,无法进行哈希或加密。在这种情况下,将使用客户端 mysql_clear_password 插件,该插件允许客户端以明文形式将密码发送到服务器。没有相应的服务器端插件。相反,mysql_clear_password 可以在客户端与任何需要明文密码的服务器端插件一起使用。(例如 PAM 和简单 LDAP 身份验证插件;请参见 第 8.4.1.4 节“PAM 可插拔身份验证”第 8.4.1.6 节“LDAP 可插拔身份验证”。)

以下讨论提供了特定于明文可插拔身份验证的使用信息。有关 MySQL 中可插拔身份验证的一般信息,请参见 第 8.2.17 节“可插拔身份验证”

注意

在某些配置中,以明文形式发送密码可能会导致安全问题。为了避免在密码有可能被拦截的情况下出现问题,客户端应该使用保护密码的方法连接到 MySQL 服务器。可能的方法包括 SSL(请参见 第 8.3 节“使用加密连接”)、IPsec 或专用网络。

为了减少无意中使用 mysql_clear_password 插件的可能性,MySQL 客户端必须显式启用它。这可以通过以下几种方式完成

  • LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 环境变量设置为以 1Yy 开头的值。这将为所有客户端连接启用该插件。

  • mysqlmysqladminmysqlcheckmysqldumpmysqlshowmysqlslap 客户端程序支持 --enable-cleartext-plugin 选项,该选项可在每次调用时启用该插件。

  • mysql_options() C API 函数支持 MYSQL_ENABLE_CLEARTEXT_PLUGIN 选项,该选项可在每次连接时启用该插件。此外,任何使用 libmysqlclient 并读取选项文件的程序都可以通过在客户端库读取的选项组中包含 enable-cleartext-plugin 选项来启用该插件。