考虑在Handshake.Sequence._packetToError升级MySQL客户端

时间:2018-08-28 07:02:58

标签: mysql

我正在学习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

1 个答案:

答案 0 :(得分:1)

node-mysql github存储区中可以看到,当前不支持MySQL 8.0。 an open pull request可以添加支持。

在发布修复程序之前,我建议安装MySQL 5.7而不是MySQL 8.0。

您也可以尝试安装节点库mysql2而不是mysql,但是我不确定它是否支持MySQL 8.0。