如何使用Express将Node.js与MySQL 8.0连接?

时间:2018-06-01 16:27:56

标签: mysql node.js database express mysql-8.0

我正在尝试使用Express将Nodejs与MySQL 8.0连接起来。 我的代码:

 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)

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

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

io.on('connection', (socket) =>{
   console.log('made socket connection');

  for(i=0; i<data.length;i++){
    socket.emit('initial', data[i]);
  }
});

以前安装过MySQL

1 个答案:

答案 0 :(得分:0)

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