Home >Database >Mysql Tutorial >How to Fix MySQL 8.0 Authentication Error: Client Protocol Mismatch in Node.JS?

How to Fix MySQL 8.0 Authentication Error: Client Protocol Mismatch in Node.JS?

DDD
DDDOriginal
2024-12-31 06:32:21390browse

How to Fix MySQL 8.0 Authentication Error: Client Protocol Mismatch in Node.JS?

MySQL 8.0 Authentication Error: Client Protocol Mismatch

Many users are encountering an error when attempting to establish a connection with MySQL 8.0 using Node.JS:

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

Solution

To resolve this issue, execute the following commands in the MySQL Workbench:

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

Ensure to replace 'root', 'localhost', and 'password' with your specific user, host, and password.

If the above method fails, try executing the first command without including @'localhost'.

Explanation

MySQL 8.0 introduced a default authentication method of caching_sha2_password, which is not supported by older MySQL client versions. By updating the user's authentication method to mysql_native_password, the client can successfully authenticate with the server.

Additional Notes

  • If you are unable to connect to the MySQL Workbench using the root user, you may need to reset the root password using the following steps:

    • Stop the MySQL service.
    • Start the MySQL service using the --skip-grant-tables option.
    • Connect to the MySQL server as the root user with no password.
    • Reset the root password using the following command: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
    • Restart the MySQL service.
  • If you encounter any other issues, consult the following resources:

    • MySQL Documentation: https://dev.mysql.com/doc/refman/5.5/en/old-client.html
    • GitHub Issue: https://github.com/mysqljs/mysql/issues/1507

The above is the detailed content of How to Fix MySQL 8.0 Authentication Error: Client Protocol Mismatch in Node.JS?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn