MySQL includes two plugins that implement native authentication;
that is, authentication based on the password hashing methods in
use from before the introduction of pluggable authentication.
This section describes
which implements authentication against the
mysql.user system table using the native
password hashing method. For information about
mysql_old_password, which implements
authentication using the older (pre-4.1) native password hashing
Section 6.1.2, “Old Native Pluggable Authentication”. For
information about these password hashing methods, see
Section 2.2.4, “Password Hashing in MySQL”.
authentication plugin is backward compatible. Older clients that
do not support authentication plugins do
use the native authentication protocol, so
they can connect to servers that support pluggable
The following table shows the plugin names on the server and client sides.
Table 6.1 Plugin and Library Names for Native Password Authentication
|Plugin or File||Plugin or File Name|
|Library file||None (plugins are built in)|
The following sections provide installation and usage information specific to native pluggable authentication:
For general information about pluggable authentication in MySQL, see Section 4.10, “Pluggable Authentication”.
mysql_native_password plugin exists in
server and client forms:
The server-side plugin is built into the server, need not be loaded explicitly, and cannot be disabled by unloading it.
The client-side plugin is built into the
libmysqlclientclient library and is available to any program linked against
MySQL client programs use
mysql_native_password by default. The
--default-auth option can be
used as a hint about which client-side plugin the program can
expect to use:
shell> mysql --default-auth=mysql_native_password ...
If an account row specifies no plugin name, the server
authenticates the account using either the
mysql_old_password plugin, depending on
whether the password hash value in the
Password column used native hashing or the
older pre-4.1 hashing method. Clients must match the password
Password column of the account row.