Documentation Home
MySQL Internals Manual

MySQL Internals Manual  /  MySQL Client/Server Protocol  /  Authentication Method

14.3 Authentication Method

To authenticate a user against the server, the client-server protocol employs one of several authentication methods:

As of MySQL 5.5.7, the authentication method to be used to authenticate connections to a particular MySQL account is indicated in the mysql.user table. For earlier servers it is always Secure Password Authentication or Old Password Authentication depending on the CLIENT_SECURE_CONNECTION flag.

Client and server negotiate what types of authentication they support as part of the connection phase. (See Section 14.2, “Connection Phase” and Section, “Determining Authentication Method”.)

Each auth method is made up of

  • a name

  • its input and output data

The exchanged in- and output data may either be sent as part of the Initial Handshake Packet and Handshake Response Packet or as part of the Authentication Method Switch Request Packet and following packets. The structure is usually the same.