【发布时间】:2018-08-31 22:39:12
【问题描述】:
我正在学习 expressjs 并连接到 MySQL 数据库,但出现以下错误。
var express = require('express');
var path = require('path');
var mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host : 'Damodars-MacBook-pro.local',
user : 'monty',
password : 'some_pass',
port : 3306,
});
connection.query('USE angularapp');
// Routing
// Configure port
app.set('port', 3006);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.static(path.join(__dirname, 'public')));
得到错误为:
错误:ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持 服务器请求的身份验证协议;考虑升级 MySQL 客户 在 Handshake.Sequence._packetToError
【问题讨论】:
-
您安装的 MySQL 服务器和
node-mysql库的版本是什么? -
@MikhailBurshteyn MySQL 8.0.12,请告诉我如何找到 node-mysql 库版本,在运行 node -v 时,它显示为 v8.11.3
-
在你的项目目录中运行
npm list mysql -
@MikhailBurshteyn damodar@1.0.0 /Users/Damodar └── mysql@2.16.0
标签: mysql