首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Express连接Node.js和MySQL 8.0?

如何使用Express连接Node.js和MySQL 8.0?
EN

Stack Overflow用户
提问于 2018-06-02 00:27:56
回答 1查看 1.8K关注 0票数 1

我正在尝试使用Express连接Nodejs和MySQL 8.0。我的代码:

代码语言:javascript
复制
var express = require('express');
var router = express.Router();
var mysql = require('mysql');

router.get('/', function(req, res, next) { 
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'root',
      password : 'rootpass'
    });    
    connection.connect(function(err) {
      if (err) throw err;
      console.log('Connected!');
    });
});

上面的代码在官方Express页面中,但我认为它是用于8.0以下的MySQL版本。

当我运行这个项目时,我得到了下一个错误:

代码语言:javascript
复制
 throw err; // Rethrow non-MySQL errors
    ^
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at Handshake.Sequence._packetToError (G:\Fractal projets\fractalpage\bfweb\node_modules\mysql\lib\protocol\sequences\Sequence.js:52:14)

以前安装了MySQL

EN

回答 1

Stack Overflow用户

发布于 2018-06-02 02:46:50

看起来您已经为用户配置了mysql_old_auth,您可以使用此选项中的任何一个选项进行更改转换为新的身份验证协议:http://dev.mysql.com/doc/refman/5.7/en/old-client.html或允许使用不安全的身份验证:https://github.com/mysqljs/mysql#connection-options insecureAuth选项

上面的链接对我不起作用,但下面的链接确实适用于https://insidemysql.com/introducing-connector-node-js-for-mysql-8-0/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50647638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档