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  /  ...  /  Client-Side Cleartext Pluggable Authentication

8.4.1.4 客户端明文认证插件

客户端认证插件可让客户端将密码发送到服务器作为明文,而不进行加密或哈希。这款插件是MySQL客户端库的一部分。

以下表格显示了插件名称。

表8.18 明文认证插件和库文件名

Plugin or File Plugin or File Name
服务器端插件 无,详见讨论
客户端插件 mysql_clear_password
库文件 无(插件内置)

许多客户端认证插件在将密码发送到服务器前对其进行哈希或加密。这样可以避免发送明文密码。

哈希或加密无法用于需要服务器接收客户端输入的密码的情况。在这种情况下,使用客户端mysql_clear_password插件,可以将密码发送到服务器作为明文。没有相应的服务器端插件,而是与任何需要明文密码的服务器端插件一起使用(例如PAM和简单LDAP认证插件;详见第8.4.1.5节,“PAM可插拔认证”,和第8.4.1.7节,“LDAP可插拔认证”)。

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

Note

将密码发送为明文可能在某些配置中存在安全问题。如果有任何可能性被截获,客户端应该使用保护密码的方法连接 MySQL 服务器。可能的方法包括 SSL(见第8.3节,“使用加密连接”)、IPsec 或私有网络。

为了使意外使用 mysql_clear_password 插件变得不太可能,MySQL 客户端必须明确地启用它。这可以通过以下方式实现:

  • 将环境变量 LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 设置为以 1Yy 开头。这使插件对所有客户端连接生效。

  • mysql, mysqladmin, mysqlcheck, mysqldump, mysqlshow, 和mysqlslap 客户端程序支持一个--enable-cleartext-plugin 选项,用于在每次调用时启用插件。

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