首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到远程mysql数据库时序列化Connect ETIMEOUT

连接到远程mysql数据库时序列化Connect ETIMEOUT
EN

Stack Overflow用户
提问于 2017-06-23 13:20:09
回答 5查看 21.5K关注 0票数 5

当我尝试使用sequelize连接到远程mysql数据库时,我得到了错误SequelizeConnectionError: connect ETIMEDOUT

当我尝试连接到本地mysql数据库时,可以成功建立连接。

我使用sequelize的默认数据库连接代码new Sequelize(...),它包含在models/index.js中,配置如下(用正确的值填充):

代码语言:javascript
复制
"production": {
  "username": "root",
  "password": null,
  "database": "database_production",
  "host": "127.0.0.1",
  "dialect": "mysql"
} 

我试着用一个简单的php脚本连接到远程数据库,它工作了(所以我们可以排除远程数据库服务器端的问题)。

有什么想法吗?

EN

回答 5

Stack Overflow用户

发布于 2019-03-12 13:37:16

对我来说,我必须:

1)在本地服务器(Xamp/ Mamp)定义我的数据库的确切信息。这意味着我必须拥有现有的数据库才能连接,用户名和密码是您数据库中的特权帐户。

2) Xamp/ Mamp必须在线(当然)。默认端口将被此本地服务器采用,因此尝试为mysql 8889而不是3306使用不同的端口。

这就是我尝试过的:

代码语言:javascript
复制
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);
        });
票数 2
EN

Stack Overflow用户

发布于 2020-02-25 17:49:11

未建立到sql server的连接时,通常会出现此错误。需要注意的事情有:

  1. 确保mysql服务器正在您尝试连接的主机上运行。
  2. 确保主机ip为correct.
  3. Ensure,输入的端口为correct.
  4. Ensure,防火墙规则定义正确。
票数 2
EN

Stack Overflow用户

发布于 2018-10-01 09:42:56

我也遇到了同样的问题,在我的例子中,这是因为我忘记在云提供商的入站规则中打开到mysql端口3306的连接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44713590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档