SequelizeConnectionRefusedError:连接ECONNREFUSED 127.0.0.1:3306

Ana*_*ene 6 mysql node.js express sequelize.js

我使用 Sequelize 作为我的 Node js 应用程序和 Mysql 数据库的 ORM,在遵循一些教程后,我添加了此代码以将 mysql 连接到节点,但在录制 npm start 后,我​​收到此错误:无法连接到数据库:{ SequelizeConnectionRefusedError :连接ECONNREFUSED 127.0.0.1:3306

 const Sequelize = require('sequelize');

 // Option 1: Passing parameters separately
 const sequelize = new Sequelize('Education', 'root','', {
 host: '127.0.0.1',
 dialect: 'mysql'
 } );

  //test db 
 sequelize
.authenticate()
.then(() => {
  console.log('Connection has been established successfully.');
})
 .catch(err => {
 console.error('Unable to connect to the database:', err);
});
Run Code Online (Sandbox Code Playgroud)

Ana*_*ene 5

问题解决了我在 phpMyadmin 中使用端口:3307 而不是 3306


小智 5

Node.js 使用的修复:

看来当前版本的sequelize (7) 只适用于 Node.js 版本^12.22.0, ^14.17.0& ^16.0.0www.sequelize.org说其他一些版本也可以工作。

使用NVM安装并切换到16.0.0版本:

如果您还没有节点版本管理器,您可以使用以下命令安装它

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

然后安装版本 16 nvm i 16.0.0,然后告诉您的应用程序使用它nvm use 16.0.0