Spec-Zone .ru
спецификации, руководства, описания, API
|
As of MySQL 5.6.2, a client-side authentication plugin is available that sends the password to the server without hashing or encryption. This plugin is built into the MySQL client library.
The following table shows the plugin name.
Table 6.13. MySQL Cleartext Authentication Plugin
Server-side plugin name | None, see discussion |
Client-side plugin name | mysql_clear_password |
Library object file name | None (plugin is built in) |
With native MySQL authentication, the client performs one-way hashing on the password before sending it to the server. This enables the client to avoid sending the password in clear text. See Section 6.1.2.4, "Password Hashing in MySQL". However, because the hash algorithm is one way, the original password cannot be recovered on the server side.
One-way hashing cannot be done for authentication schemes that require the server to receive the password as
entered on the client side. In such cases, the mysql_clear_password
client-side
plugin can be used to send the password to the server in clear text. There is no corresponding server-side
plugin. Rather, the client-side plugin can be used by any server-side plugin that needs a clear text password.
For general information about pluggable authentication in MySQL, see Section 6.3.7, "Pluggable Authentication".
Sending passwords in clear text may be a security problem in some configurations. To avoid problems if there is any possibility that the password would be intercepted, clients should connect to MySQL Server using a method that protects the password. Possibilities include SSL (see Section 6.3.9, "Using SSL for Secure Connections"), IPsec, or a private network.
As of MySQL 5.6.7, to make inadvertent use of this plugin less likely, it is required that clients explicitly enable it. This can be done several ways:
Set the LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN
environment
variable to a value that begins with 1
, Y
, or
y
. This enables the plugin for all client connections.
The mysql, mysqladmin, and mysqlslap client programs support an --enable-cleartext-plugin
option that enables the plugin on a per-invocation
basis.
The mysql_options()
C API function supports a MYSQL_ENABLE_CLEARTEXT_PLUGIN
option that enables the plugin on a per-connection basis. Also, any program that uses libmysqlclient
and reads option files can enable the plugin by including
an enable-cleartext-plugin
option in an option group read by the client
library.