mysql - 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 建立连接?
任何形式的帮助表示赞赏
解决方案
使用新的mysql2库而不是mysql以便使用 MySQL 8.0 的新身份验证方法
~ 在节点版本 13.6.0 和 MySQL 8.0.21 中测试
推荐阅读
- android - Google Drive 从文件夹中获取文件
- javascript - 将 onclick 添加到 UI 材质按钮
- raspberry-pi - 串口停止接收数据,发送任何数据暂时修复它
- javascript - 1 秒后显示 ngx 微调器
- java - ServletException:过滤器执行引发异常 - doFilter 和 invokeDelegate 重复
- python - 使用 Python 进行多重回归的简单预测
- python - 如何删除熊猫函数中的过滤行?
- python - Tkinter进度条如何在模型对话框中正确实现
- python - 使用列表在 python 纸浆中加载数据
- animation - 如何在 SVG 中添加自定义动画?