Fixing mysql_native_password is not loaded in MySQL 8.4+ 2026

sreekutty

Devops

Last Updated: 1 October 2026
Fixing mysql_native_password is not loaded in MySQL 8.4+ 2026
🖥️12,400+PCs Fixed
⭐4.9★Google Rating
⚡<15 minAvg. Response
🛡️ISO 27001Certified

What the Error Looks Like?

If you recently upgraded to MySQL 8.4, you may have run into the dreaded:

“ERROR 2059 (HY000): Authentication plugin 'mysql_native_password' is not loaded”

That suggests you have to choose between switching to the more modern approach or manually activating the old one. This blog guides you step-by-step through why the mistake happens, how to fix it, and what MySQL actually advises.

Why This Error Happens in MySQL 8.4 ?

MySQL has tightened security starting with 8.0 and particularly in 8.4 LTS.

The plugin mysql_native_password is usually disabled. In many settings, it is no longer loaded at all.

Therefore, if you want to make a user like this:

CREATE USER 'user'@'%' FOUND AS mysql_native_password BY 'password';

The plugin being unavailable will help you to find the mistake.

How to fix mysql_native_password is not loaded in MySQL 8.4+

1: Use the New Default Authentication (Recommended)

MySQL recommends using:

✔ caching_sha2_password (default and secure)

So instead of forcing mysql_native_password, create the user like this:

CREATE USER 'user'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON . TO 'user'@'%'; FLUSH PRIVILEGES;

Or explicitly:

CREATE USER 'user'@'%' IDENTIFIED WITH caching_sha2_password BY 'password';

2: Enable mysql_native_password Plugin (Not Recommended but Possible)

If your application or CMS is old (WordPress plugins, old PHP apps, old Python/mysql libs), you may need the legacy plugin.

Step 1: Load the plugin manually

Run:

INSTALL PLUGIN mysql_native_password SONAME 'authentication_legacy.so';

Step 2: Verify plugin is loaded

SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='mysql_native_password';

If it shows ACTIVE, you’re good.

Step 3: Now create the user

CREATE USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

3. User Accounts Still Using Deprecated Plugin

Cause:

Old accounts are set with mysql_native_password.

Fix:

Log in to MySQL:

Run:

mysql -u root -p

ALTER USER ''@'<HOST>' IDENTIFIED WITH caching_sha2_password BY '';

## The mysql_native_password not loaded error happens because MySQL 8.4 has fully moved toward more secure authentication methods.

Related service: Server Management Service - Managed Linux and Windows servers: monitoring, patching, security and 24/7 support.

mysql_native_passwordMySQL Troubleshooting

Get the Free Web Server Setup Checklist (PDF)

Nginx, SSL, security headers, and performance tips — the checklist every web project needs at launch.

Web performance or reliability issues costing customers?

Our Web Infrastructure service manages your web servers, SSL, CDN, and Cloudflare configuration — so your site is fast, secure, and always available.

  • Nginx/Apache server management and optimisation
  • SSL certificate installation and auto-renewal
  • Cloudflare WAF, CDN, and DNS management
  • Uptime monitoring with instant incident response
See Pricing Plans →

What our customers say

“Cloudflare kept blocking our customers. CloudHouse audited the rules and fixed it without compromising security. Fast work.”

Sarah K.

E-commerce Manager

“Our website was loading in 8 seconds. After CloudHouse tuned Nginx and Cloudflare, it's under 1.2 seconds.”

Amit V.

Product Manager

Frequently Asked Questions

Yes — 90% of fixes are done over a secure remote session in 15–30 minutes. Our technicians connect safely using industry-standard tools.

Need this done for you?

Server Management Service

Managed Linux and Windows servers: monitoring, patching, security and 24/7 support.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...