[GH-ISSUE #3287] ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client #2218

Open
opened 2026-02-26 07:34:33 +03:00 by kerem · 12 comments
Owner

Originally created by @z499738316 on GitHub (Oct 26, 2023).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/3287

Hello, I encountered an error connecting to MySQL while installing nginx proxy manage
image
I installed MySQL 8.0 in Docker,But nginx proxy management told me that the connection was wrong. Let me know
image
image
image
Can you help me check the errors? MySQL and nginx are both in the same Docker service
image

Originally created by @z499738316 on GitHub (Oct 26, 2023). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/3287 Hello, I encountered an error connecting to MySQL while installing nginx proxy manage ![image](https://github.com/NginxProxyManager/nginx-proxy-manager/assets/37020005/ddbd2685-209e-40aa-9937-da24a2c08364) I installed MySQL 8.0 in Docker,But nginx proxy management told me that the connection was wrong. Let me know ![image](https://github.com/NginxProxyManager/nginx-proxy-manager/assets/37020005/f372fb56-7225-4c01-add1-696f38781598) ![image](https://github.com/NginxProxyManager/nginx-proxy-manager/assets/37020005/08f71f42-9e85-4fe0-bf0c-8769a0dd59b8) ![image](https://github.com/NginxProxyManager/nginx-proxy-manager/assets/37020005/a864c6b6-13ac-4e01-8aa2-6eada7001e81) Can you help me check the errors? MySQL and nginx are both in the same Docker service ![image](https://github.com/NginxProxyManager/nginx-proxy-manager/assets/37020005/6f5e7123-8882-4baa-a3c6-ae01847dbd40)
Author
Owner

@z499738316 commented on GitHub (Oct 26, 2023):

The network is functioning normally
image

<!-- gh-comment-id:1781264382 --> @z499738316 commented on GitHub (Oct 26, 2023): The network is functioning normally ![image](https://github.com/NginxProxyManager/nginx-proxy-manager/assets/37020005/d0065548-f842-4769-9cc0-5848b00ac020)
Author
Owner

@dylanmaniatakes commented on GitHub (Feb 28, 2024):

Im having this same issue, did you ever get it resolved

<!-- gh-comment-id:1969274541 --> @dylanmaniatakes commented on GitHub (Feb 28, 2024): Im having this same issue, did you ever get it resolved
Author
Owner

@z499738316 commented on GitHub (Feb 29, 2024):

Im having this same issue, did you ever get it resolved

不要使用mysql8.0以上版本,需要使用mysql5.7版本

<!-- gh-comment-id:1970283016 --> @z499738316 commented on GitHub (Feb 29, 2024): > Im having this same issue, did you ever get it resolved 不要使用mysql8.0以上版本,需要使用mysql5.7版本
Author
Owner

@ggbr commented on GitHub (Mar 21, 2024):

It seems like you have to update the Mysql client lib

<!-- gh-comment-id:2012392916 --> @ggbr commented on GitHub (Mar 21, 2024): It seems like you have to update the Mysql client lib
Author
Owner

@ggbr commented on GitHub (Mar 21, 2024):

I followed this and it resolved for Mysql 8.0.36

Execute the following query in MYSQL Workbench

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Where root as your user localhost as your URL and password as your password

Then run this query to refresh privileges:

flush privileges;

Try connecting using node after you do so.

If that doesn't work, try it without @'localhost' part.

Link:
https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server

<!-- gh-comment-id:2012415934 --> @ggbr commented on GitHub (Mar 21, 2024): I followed this and it resolved for Mysql 8.0.36 ``` Execute the following query in MYSQL Workbench ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; Where root as your user localhost as your URL and password as your password Then run this query to refresh privileges: flush privileges; Try connecting using node after you do so. If that doesn't work, try it without @'localhost' part. ``` Link: https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
Author
Owner

@gitown commented on GitHub (Jul 1, 2024):

I followed this and it resolved for Mysql 8.0.36

Execute the following query in MYSQL Workbench

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Where root as your user localhost as your URL and password as your password

Then run this query to refresh privileges:

flush privileges;

Try connecting using node after you do so.

If that doesn't work, try it without @'localhost' part.

Link: https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server

This is just a workaround, but mysql_native_password is deprectaed by MySQL so NPM need to add support for caching_sha2_password

<!-- gh-comment-id:2200963031 --> @gitown commented on GitHub (Jul 1, 2024): > I followed this and it resolved for Mysql 8.0.36 > > ``` > Execute the following query in MYSQL Workbench > > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; > > Where root as your user localhost as your URL and password as your password > > Then run this query to refresh privileges: > > flush privileges; > > Try connecting using node after you do so. > > If that doesn't work, try it without @'localhost' part. > ``` > > Link: https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server This is just a workaround, but mysql_native_password is deprectaed by MySQL so NPM need to add support for caching_sha2_password
Author
Owner

@reebderdieb commented on GitHub (Sep 10, 2024):

Just upgraded my MySQL server to version 9.0.1, no chance now for NPM to connect to the database. Until the issue is resolved, would it be a good idea to just reinstall the proxy without a database? Have just three hosts running, so not much to do.

<!-- gh-comment-id:2341978765 --> @reebderdieb commented on GitHub (Sep 10, 2024): Just upgraded my MySQL server to version 9.0.1, no chance now for NPM to connect to the database. Until the issue is resolved, would it be a good idea to just reinstall the proxy without a database? Have just three hosts running, so not much to do.
Author
Owner

@nlynzaad commented on GitHub (Sep 10, 2024):

Just upgraded my MySQL server to version 9.0.1, no chance now for NPM to connect to the database. Until the issue is resolved, would it be a good idea to just reinstall the proxy without a database? Have just three hosts running, so not much to do.

I came across the same issue yesterday. following the advice on this reddit post I was able to update the root user to use the new caching_sha2_password authentication methods. I then logged in, exported the schema, spun up a Mysql8.4 container with a npm user with native_password, restored the schema and pointed the npm container to this MySQL8.4 instance.

<!-- gh-comment-id:2342069995 --> @nlynzaad commented on GitHub (Sep 10, 2024): > Just upgraded my MySQL server to version 9.0.1, no chance now for NPM to connect to the database. Until the issue is resolved, would it be a good idea to just reinstall the proxy without a database? Have just three hosts running, so not much to do. I came across the same issue yesterday. following the advice on this reddit [post](https://www.reddit.com/r/mysql/comments/1dv10ma/help_rollback_mysql_9xx_to_8401) I was able to update the root user to use the new caching_sha2_password authentication methods. I then logged in, exported the schema, spun up a Mysql8.4 container with a npm user with native_password, restored the schema and pointed the npm container to this MySQL8.4 instance.
Author
Owner

@reebderdieb commented on GitHub (Sep 11, 2024):

Will try that, probably later today. Does anyone know how long NPM will need to implement the "new" password plugin? Funny enough my certificates are valid until December and the proxy still does his job, so I'm not in a hurry.

<!-- gh-comment-id:2343742842 --> @reebderdieb commented on GitHub (Sep 11, 2024): Will try that, probably later today. Does anyone know how long NPM will need to implement the "new" password plugin? Funny enough my certificates are valid until December and the proxy still does his job, so I'm not in a hurry.
Author
Owner

@nlynzaad commented on GitHub (Sep 11, 2024):

I've submitted a PR that should resolve this, the underlying mysql library does not support the new authentication method, but I see they are working on a re-write to move to go in V3 so not too sure if it will get merged.

<!-- gh-comment-id:2343842065 --> @nlynzaad commented on GitHub (Sep 11, 2024): I've submitted a PR that should resolve this, the underlying mysql library does not support the new authentication method, but I see they are working on a re-write to move to go in V3 so not too sure if it will get merged.
Author
Owner

@reebderdieb commented on GitHub (Sep 11, 2024):

Will stick around and see how things develop. In the worst case will go with a dedicated MySQL container just for NPM. Thanks.

<!-- gh-comment-id:2344447764 --> @reebderdieb commented on GitHub (Sep 11, 2024): Will stick around and see how things develop. In the worst case will go with a dedicated MySQL container just for NPM. Thanks.
Author
Owner

@github-actions[bot] commented on GitHub (May 31, 2025):

Issue is now considered stale. If you want to keep it open, please comment 👍

<!-- gh-comment-id:2923997470 --> @github-actions[bot] commented on GitHub (May 31, 2025): Issue is now considered stale. If you want to keep it open, please comment :+1:
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#2218
No description provided.