## Scenario If MySQL 8.0 used, there is an error caused often when starting the CabloyJS backend service: `nodejs.ER_NOT_SUPPORTED_AUTH_MODEError` ## Reason Because MySQL 8.0 provides a new authentication plugin `caching_sha2_password`, however, the latest MySQL NodeJS module does not fully support the `caching_sha2_password`, resulting in the authentication error when connecting to the databse [https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html) ## Solution ### For existing user Modify the password of user `root` with `mysql_native_password` ``` bash ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; ``` ### For new user Create a new user with `mysql_native_password` ``` bash CREATE USER 'newuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; ```