Javascript 无法使用Sequelize(nodejs)连接到本地主机数据库

Javascript 无法使用Sequelize(nodejs)连接到本地主机数据库,javascript,mysql,node.js,orm,Javascript,Mysql,Node.js,Orm,我使用SequelizeJS连接并与本地主机(MAMP)上的数据库通信。但是,每当我尝试执行查询时,总是会出现以下错误:econnreference。我仔细检查了MySQL的端口号和主机名,它们是3306和localhost。我基本上遵循了他们网站上的指南。以下是我的一些代码: var sequelize = new mysql('partythump', 'root', 'mysqlroot', { host: 'localhost', port: 3306, time

我使用SequelizeJS连接并与本地主机(MAMP)上的数据库通信。但是,每当我尝试执行查询时,总是会出现以下错误:
econnreference
。我仔细检查了MySQL的端口号和主机名,它们是3306和localhost。我基本上遵循了他们网站上的指南。以下是我的一些代码:

var sequelize = new mysql('partythump', 'root', 'mysqlroot', {
    host: 'localhost',
    port: 3306,
    timestamps: false
}); 

var parties = sequelize.define('parties', {
    id: mysql.INTEGER,
    party_name: mysql.STRING,
    party_id: mysql.STRING,
    created_on: mysql.DATE,
    is_active: mysql.BOOLEAN,
    party_code: mysql.STRING,
    geo_location: mysql.STRING
});
在一个函数中,我有:

var party = parties.build({
    id: null,
    party_name: 'test',
    party_id: '',
    is_active: 1,
    party_code: '',
    geo_location: '',
    created_on: new Date()
});

party
.save()
.on('success', function() {
    console.log('Inserted new party into db');
})
.on('failure', function(error) {
    console.log('Could not execute insert query');
    console.log(error);
});

有人能帮我吗?

你能试试主机
127.0.0.1
吗?

当你指定
localhost
作为主机名时,MySQL客户端库通常会尝试通过Unix套接字(一种特殊的文件)进行连接

只有当客户机库和MySQL服务器进程查找同名的Unix套接字,并在服务器和客户机的配置文件中都设置它时,这才有效

对于开发工作,您不需要Unix套接字的速度,因此sdepold关于使用127.0.0.1的建议应该可以让您继续使用


然后,您可以在以后查看服务器和客户端安装的文档,并在您有心情时找到要处理的设置。

因此,感谢您的回答,但我的同事最终解决了问题。它与MAMP中的配置有关。要解决此问题,请执行以下操作:

在MAMP中,在菜单栏中,转到文件>编辑模板>MySQL my.cnf

在第46行,注释掉:

MAMP_skip-networking_MAMP
现在该工作了