无法用Sequelize (nodejs)连接到本地数据库
Cant connect to localhost database with Sequelize (nodejs)
我正在使用SequelizeJS连接并与我的本地主机(MAMP)上的数据库交谈。然而,每当我尝试执行查询时,我总是得到这个错误:ECONNREFUSED
。我仔细检查了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);
});
有谁能帮我吗? 所以,谢谢你的回答,但是我的同事最终找到了问题所在。它与MAMP中的配置有关。修改:
在MAMP中,在菜单栏中,点击File> Edit Template> MySQL my.cnf
第46行,注释掉:
MAMP_skip-networking_MAMP
现在应该可以工作了!
当您指定localhost
作为主机名时,MySQL客户端库通常尝试通过Unix套接字(一种特殊的文件)进行连接。
只有当客户端库和MySQL服务器进程在相同的名称下查找Unix套接字,并在服务器和客户端的配置文件中设置它时才有效。
对于开发工作,您不需要Unix套接字的速度,因此sdepold建议使用127.0.0.1应该可以帮助您。
然后,您可以稍后浏览服务器和客户端安装的文档,并找到您想要的设置。
可以试试主机127.0.0.1
吗?
调用new mysql
时,应添加带有' socketPath
'属性的参数'dialectOptions'
相关文章:
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 在cordova android应用程序中连接数据库
- 连接SQlite数据库
- 如何从Meteor内部获取当前连接的MongoDB数据库的URL
- 尝试使用javascript连接访问数据库
- 使用 JavaScript 连接数据库服务器的方法有多少种
- i'我正在开发一个phonegap应用程序,但它无法连接数据库.我附加了以下程序
- 在安装流星postgres之前有什么步骤吗?我无法连接数据库
- 猫鼬连接数据库时出错
- 在连接数据库时最好使用include或include_once
- 如何使用Ajax连接数据库(jsp)检查输入验证
- 使用JavaScript连接数据库
- 如何为这个angular登录代码连接数据库
- HTML5+javascript,如何连接数据库,如oracle,msql
- 我们可以用javascript连接数据库进行功能测试吗?
- Postgres + Node,将开发环境迁移到Windows,并且在连接数据库时遇到认证问题
- php,使用mysql_connect()连接数据库的问题,如何
- 使用Angular.js连接数据库和模型
- 使用Javascript API连接数据库
- 当我试图连接数据库时,是否有任何问题?