无法使用 Sequelize 连接到 MySQL
Can't connect to MySQL with Sequelize
当我尝试连接到我服务器上的 MySQL 数据库时,我总是收到 SequelizeConnectionRefusedError
。
登录凭据正确,端口打开,一切似乎都很好(并且在开发环境中工作得很好)。
抱歉,背景信息很少,但我在这里傻眼了——我真的不知道是什么导致了这个问题。
这是我 mysql --version
的输出
mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3
这是我用来初始化 Sequelize 的代码。我想让它使用的 table 还不存在,但我很确定这与这个问题没有任何关系。我也尝试过使用 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();
这是 运行ning 在 Ubuntu 14.04 上,其中节点 运行 在 Passenger 后面(尽管如果我 运行 应用程序直接将节点作为出色地)。我在同一台服务器上 运行ning nginx 和 PHP,另一个 PHP 应用程序正在连接到数据库,如果有任何相关性的话。
是什么导致了这个问题?
我也尝试使用 MySQL 模块直接连接到数据库,但是这给了我同样的错误。在寻找相同问题的解决方案时,但与 MySQL 模块相关而不是 Sequelize,我发现了这个:connect ECONNREFUSED - node 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
}
});
当我尝试连接到我服务器上的 MySQL 数据库时,我总是收到 SequelizeConnectionRefusedError
。
登录凭据正确,端口打开,一切似乎都很好(并且在开发环境中工作得很好)。
抱歉,背景信息很少,但我在这里傻眼了——我真的不知道是什么导致了这个问题。
这是我 mysql --version
mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3
这是我用来初始化 Sequelize 的代码。我想让它使用的 table 还不存在,但我很确定这与这个问题没有任何关系。我也尝试过使用 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();
这是 运行ning 在 Ubuntu 14.04 上,其中节点 运行 在 Passenger 后面(尽管如果我 运行 应用程序直接将节点作为出色地)。我在同一台服务器上 运行ning nginx 和 PHP,另一个 PHP 应用程序正在连接到数据库,如果有任何相关性的话。
是什么导致了这个问题?
我也尝试使用 MySQL 模块直接连接到数据库,但是这给了我同样的错误。在寻找相同问题的解决方案时,但与 MySQL 模块相关而不是 Sequelize,我发现了这个:connect ECONNREFUSED - node 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
}
});