SequelizeConnectionRefusedError:连接ECONNREFUSED 127.0.0.1:3306

时间:2019-08-16 10:09:00

标签: mysql node.js express sequelize.js

我将Sequelize用作节点js应用程序和Mysql数据库的ORM, 在遵循了一些教程之后,我添加了这段代码以将mysql连接到节点,但是在点击npm后,我得到了这个错误: 无法连接到数据库:{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);
});

5 个答案:

答案 0 :(得分:0)

如果你在 windows 上运行 XAMMP 服务器,首先用 MySQL 启动 apache 服务器

您收到此错误可能是因为您的服务器没有运行。

检查您的服务器并在必要时重新启动。

答案 1 :(得分:0)

重启mysql服务器即可。

Linux 和 Mac:

<块引用>

服务mysql重启

视窗:

使用Windows+R 键盘打开运行 窗口。 其次,输入 services.msc 并按 Enter: 找到 mysql 并重启服务。

答案 2 :(得分:0)

在方言选项中添加socketPath

示例代码片段:

// Option 1: Passing parameters separately
const sequelize = new Sequelize('Education', 'root', '', {
  host: '127.0.0.1',
  dialect: 'mysql',
  dialectOptions: {
    socketPath: '/Applications/MAMP/tmp/mysql/mysql.sock'
  }
});

答案 3 :(得分:-1)

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

答案 4 :(得分:-1)

我已删除端口选项,问题已解决。

const sequelize = new Sequelize('dbname', 'dbuser', 'pass', {
    dialect: 'mysql',
    host: "127.0.0.1",
    operatorAlias:false,
    logging:false,
    pool: {
        max: 5,
        idle: 30000,
        acquire: 60000,
    },
    
})