Mysql 连接失败:错误:connect ETIMEDOUT

Mysql 连接失败:错误:connect ETIMEDOUT,mysql,node.js,express,loopbackjs,nodemon,Mysql,Node.js,Express,Loopbackjs,Nodemon,我在MySql中使用环回。当我运行时,随机出现以下错误 nodemon . 或 我应该如何解决这个问题?在环回端配置或MySQL上 配置注意:我正在使用MAMP for MySQL 成功启动而不出错需要很多时间。什么 我应该如何快速重启 最可能的原因可能是其他服务正在使用相同的端口,请更改端口 我对nodemon有类似的问题,但对node没有,因为我的path变量中没有system32文件夹。这似乎是MySQL和环回的一个已知问题,导致环回首次启动时连接在重载情况下超时: 一些可能的解决方案

我在MySql中使用环回。当我运行时,随机出现以下错误

nodemon .

  • 我应该如何解决这个问题?在环回端配置或MySQL上 配置注意:我正在使用MAMP for MySQL
  • 成功启动而不出错需要很多时间。什么 我应该如何快速重启

  • 最可能的原因可能是其他服务正在使用相同的端口,请更改端口


    我对nodemon有类似的问题,但对node没有,因为我的path变量中没有system32文件夹。

    这似乎是MySQL和环回的一个已知问题,导致环回首次启动时连接在重载情况下超时:

    一些可能的解决方案:

    • 如果您在VM或容器上运行,增加CPU资源可能会解决此问题

    • 在数据源配置中设置
      connectTimeout
      acquireTimeout
      (根据需要调整值):

      {
      “mySQL”:{
      //...
      “连接超时”:20000,
      “获取超时”:20000
      }
      
      ()

    • 还有一个选择:

      我们的解决方案是通过在数据源配置中启用lazyConnect,从环回引导中删除初始数据库连接,然后在引导完成后单独调用数据源连接。我们得出了一个类似的结论,即环回引导期间的CPU压力会导致db连接失败

      ()


    显示一些代码会使我们更容易帮助。不幸的是,这不是解决方案,因为询问者提到他们“随机”得到错误此外,所讨论的超时错误是由MySQL环回连接器试图连接到数据库引起的。如果另一个服务在同一端口上运行,您将看到一个错误,例如
    error:listen EADDRINUSE:address ready in use:::3000
    node .
    
    Web server listening at: http://0.0.0.0:3000
    Browse your REST API at http://0.0.0.0:3000/explorer
    Connection fails: Error: connect ETIMEDOUT
    It will be retried for the next request.
    events.js:160
          throw er; // Unhandled 'error' event
          ^
    
    Error: connect ETIMEDOUT
        at PoolConnection.Connection._handleConnectTimeout