Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 35.1Mb
PDF (A4) - 35.2Mb
Man Pages (TGZ) - 256.4Kb
Man Pages (Zip) - 361.2Kb
Info (Gzip) - 3.4Mb
Info (Zip) - 3.4Mb
Excerpts from this Manual

MySQL 5.7 Reference Manual  / ...  / Security  / Security Plugins  / Authentication Plugins  /  Native Pluggable Authentication

6.4.1.1 Native Pluggable Authentication

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 describesmysql_native_password, which implements authentication against themysql.user system table using the native password hashing method. For information aboutmysql_old_password, which implements authentication using the older (pre-4.1) native password hashing method, seeSection 6.4.1.2, “Old Native Pluggable Authentication”. For information about these password hashing methods, seeSection 6.1.2.4, “Password Hashing in MySQL”.

The following table shows the plugin names on the server and client sides.

Table 6.8 Plugin and Library Names for Native Password Authentication

Plugin or FilePlugin or File Name
Server-side pluginmysql_native_password
Client-side pluginmysql_native_password
Library fileNone (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, seeSection 6.2.13, “Pluggable Authentication”.

Installing Native Pluggable Authentication

Themysql_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 thelibmysqlclient client library and is available to any program linked againstlibmysqlclient.

Using Native Pluggable Authentication

MySQL client programs usemysql_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:

$> mysql --default-auth=mysql_native_password ...