首页 > 解决方案 > Node JS和mysql不连接(客户端不支持服务器请求的认证协议考虑升级mysql客户端)

问题描述

我正在尝试将我的 NodeJs 应用程序与 mysql 数据库连接,但由于某种原因它没有连接。

我确实像这样安装了mysql npm(在命令行中输入):

npm install mysql

安装 mysql npm 后,我创建了一个 index.js 文件,并在该文件中尝试与我的数据库建立连接。

这是我的 index.js 文件中用于与 mysql 建立连接的代码:

const mysql      = require('mysql');

var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    port     : '3306',
    password : 'test12310',
    database : 'fys'
});


connection.connect((err) => {
    if(!err)
        console.log('Database is geconnect!');
    else
        console.log('Database connectie niet gelukt!  : '+ JSON.stringify(err, undefined,2));
});

然后我尝试运行代码并查看与 mysql 的连接是否有效。我在命令行中输入了这个:

node index.js

这是我在命令提示符下收到的错误消息:

错误图像

有谁知道我如何修复这个错误并在 nodejs 中与我的 mysqldatabase 建立连接?

任何形式的帮助表示赞赏

标签: mysqlnode.jsdatabasenpmdatabase-connection

解决方案


使用新的mysql2库而不是mysql以便使用 MySQL 8.0 的新身份验证方法

~ 在节点版本 13.6.0 和 MySQL 8.0.21 中测试


推荐阅读