当我尝试使用sequelize连接到远程mysql数据库时,我得到了错误SequelizeConnectionError: connect ETIMEDOUT。
当我尝试连接到本地mysql数据库时,可以成功建立连接。
我使用sequelize的默认数据库连接代码new Sequelize(...),它包含在models/index.js中,配置如下(用正确的值填充):
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
} 我试着用一个简单的php脚本连接到远程数据库,它工作了(所以我们可以排除远程数据库服务器端的问题)。
有什么想法吗?
发布于 2019-03-12 13:37:16
对我来说,我必须:
1)在本地服务器(Xamp/ Mamp)定义我的数据库的确切信息。这意味着我必须拥有现有的数据库才能连接,用户名和密码是您数据库中的特权帐户。
2) Xamp/ Mamp必须在线(当然)。默认端口将被此本地服务器采用,因此尝试为mysql 8889而不是3306使用不同的端口。
这就是我尝试过的:
sequelize = new Sequelize('wohui', 'root', 'root', {
dialect: 'mysql',
host: 'localhost',
port: 8889
});
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch((err) => {
console.log('Unable to connect to the database:', err);
});发布于 2020-02-25 17:49:11
未建立到sql server的连接时,通常会出现此错误。需要注意的事情有:
发布于 2018-10-01 09:42:56
我也遇到了同样的问题,在我的例子中,这是因为我忘记在云提供商的入站规则中打开到mysql端口3306的连接
https://stackoverflow.com/questions/44713590
复制相似问题