Client does not support authentication protocol
Production Risk
High — application cannot connect until the authentication method is compatible.
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).
- 1Connecting to MySQL 8.0 with a MySQL 5.x client library
- 2ORM/connector not upgraded to support caching_sha2_password
- 3phpMyAdmin or legacy PHP mysql extension against MySQL 8.0
-- 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)
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 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+).
✕
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