1410
MySQLerrorpermissionshigh confidence

Client does not support authentication protocol

Production Risk

High — application cannot connect until the authentication method is compatible.

What this means

The MySQL client library is too old to support the authentication plugin the server expects (e.g. caching_sha2_password in MySQL 8.0 vs older clients expecting mysql_native_password).

Why it happens
  1. 1Connecting to MySQL 8.0 with a MySQL 5.x client library
  2. 2ORM/connector not upgraded to support caching_sha2_password
  3. 3phpMyAdmin or legacy PHP mysql extension against MySQL 8.0
How to reproduce
trigger — this will error
trigger — this will error
-- Occurs at connection time, not via a SQL statement.

expected output

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

Fix 1

Upgrade the client library

Why this works

Use MySQL Connector 8.x or a driver that supports caching_sha2_password.

Fix 2

Change user to use mysql_native_password (temporary compatibility)

Change user to use mysql_native_password (temporary compatibility)
ALTER USER 'user'@'host' IDENTIFIED WITH mysql_native_password BY 'password';

Why this works

Reverts to the older auth plugin for legacy clients.

Fix 3

Set default auth plugin globally

Set default auth plugin globally
SET GLOBAL default_authentication_plugin = 'mysql_native_password';

Why this works

Makes all new users use the legacy plugin (MySQL 5.7 option; deprecated in 8.0.27+).

What not to do

Version notes

Sources
Official documentation ↗

MySQL 8.0 — 1410 ER_NOT_SUPPORTED_AUTH_MODE / 2059

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All MySQL errors