fre*_*und 3 javascript mysql node.js sequelize.js
我一直SequelizeConnectionRefusedError试图连接到我的服务器上的MySQL数据库.
登录凭据是正确的,端口是打开的,一切看起来都很好(并且在开发环境中就像一个魅力).
对于稀缺的背景信息感到抱歉,但我在这里傻眼了 - 我真的不知道是什么原因导致了这个问题.
这是我的输出 mysql --version
mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3
Run Code Online (Sandbox Code Playgroud)
这是我用来初始化Sequelize的代码.我想要它使用的表还不存在,但我很确定这个问题没有任何关系.我已尝试使用root用户登录,但没有骰子 - 我仍然得到相同的错误.
var sequelize = new Sequelize("database", username, password, {
host: "localhost",
dialect: "mysql",
port: 3306,
define: {
paranoid: true
}
});
var Model = sequelize.define("Model", {
md5: {type: Sequelize.STRING(128)},
ip: {type: Sequelize.STRING(256)},
url: {type: Sequelize.STRING(1024)}
});
sequelize.sync();
Run Code Online (Sandbox Code Playgroud)
这是在Ubuntu 14.04上运行的,其中节点在Passenger后面运行(尽管如果我直接运行带有节点的应用程序也会出现错误).我在同一台服务器上运行nginx和PHP,其中另一个PHP应用程序连接到数据库,如果有任何相关性的话.
什么可能导致这个问题?
我也尝试使用MySQL模块直接连接到数据库,但这给了我同样的错误.在寻找同样问题的解决方案,但与MySQL模块而不是Sequelize相关时,我发现了这一点:连接ECONNREFUSED - 节点js,sql.
我需要的是为mysql模块提供socketPath密钥.这是我改变代码以使其工作的方式:
var sequelize = new Sequelize("database", username, password, {
host: "localhost",
dialect: "mysql",
logging: function () {},
pool: {
max: 5,
min: 0,
idle: 10000
},
dialectOptions: {
socketPath: "/var/run/mysqld/mysqld.sock"
},
define: {
paranoid: true
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12359 次 |
| 最近记录: |