mysql - 错误 : ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

标签 mysql node.js express

我正在尝试使用以下代码连接到 MySQL 数据库。

var mysql      = require('mysql');
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : 'pass',
    database : 'my_db',
    insecureAuth : true
});

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results[0].solution);
});

connection.end();

但出现以下错误:

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

我在本地安装了 MySQL-installer-community-8.0.11.0。

我是否需要安装任何其他连接器才能连接到数据库?

最佳答案

昨天我的 docker 容器和 mysql + nodejs 遇到了同样的问题。 到目前为止我还没有找到修复方法,但它与新的 mysql 版本 (8.X) 有关。 在我用第 5 版重新安装 mysql 后,一切都对我有用。

关于mysql - 错误 : ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50149307/

相关文章:

mysql - 计算嵌套选择结果并总结- SQL

mysql - 在另一个查询 MySQL 中使用来自一个查询的 SUM

mysql - 如何在nw.js中安装node mysql模块?

node.js - nodejs + pg 用回调做 CRUD

mysql - 连接和限制时间的mysql查询中的问题

php - 解析以分号分隔的字符串

node.js - Sails 没有方法 'subscribeToFirehose'

javascript - 停止 node.js 服务器的所有实例

node.js - 需要明确提供方言

javascript - 如何使 create-react-app 自动构建?