nodejs连接mysql报错Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authen

624 阅读1分钟

使用nodejs连接mysql

const mysql = require('mysql')
var conn = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'dada'
});

conn.connect(function (err) {
    if (err) throw err;
    console.log("Connected!");
});

出现如下错误:

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

解决办法

$ mysql -u root -p
Enter password: (enter your root password)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
mysql> FLUSH PRIVILEGES;
mysql> quit

成功后,重新运行 node app.js即可。