I'm creating the simple api project in nodejs.
For that I have installed mySql workbench with version 8.0.11. I have created config file, dbConnection.js file and in the dbconnection.js file I have written the following code :
var mysql = require('mysql');
var path = require('path');
var config = require(path.resolve('./', 'config'))
var connection = mysql.createConnection({
host: config.databaseHost,
user: config.databaseUser,
password: config.databasePassword,
database: config.databaseDatabaseName,
multipleStatements: true
});
connection.connect(function (err) {
if (err) {
console.log('Error connecting to Database',err);
return;
}
console.log('Connection established');
});
module.exports = connection;
And I'm facing following error :
code: 'ER_NOT_SUPPORTED_AUTH_MODE', errno: 1251, sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client', sqlState: '08004', fatal: true
Note : I kept my congif as simple as it can be, user = root , password = root, host = localhost.
Open terminal and login:
mysql -u root -p
(then type your password)
After that:
USE mysql;
UPDATE user SET authentication_string=password(''), plugin='mysql_native_password' WHERE user='root';
And the last important thing is to reset mysql service:
sudo service mysql restart