1.6.4出现连接数据库异常:App error connect ETIMEDOUT

* 描述问题

系统从:1.6.0.-apha29升级到1.6.4版本之后,docker-compose up -d 之后,一开始可以然后忽然又出现下列报错了

* 运行环境

  • NocoBase 版本:1.6.4
  • 数据库种类与版本: mysql 8.4
  • 操作系统:CentOS 7
    -浏览器及版本
  • 部署方式:Docker
  • Docker 镜像版本:latest(1.6.4)
  • NodeJS 版本:

如何重现

1.6.0.-apha29升级到1.6.4版本之后,docker-compose up -d 之后,一开始可以然后忽然又出现下列报错了

预期行为

正常打开

截图

image

日志

client tags: app#main
client tags: app#main,userId#512
{“level”:“error”,“message”:“connect ETIMEDOUT”,“meta”:{“err”:“SequelizeConnectionError: connect ETIMEDOUT\n at ConnectionManager.connect (/app/nocobase/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:102:17)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async ConnectionManager._connect (/app/nocobase/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:222:24)”},“module”:“app”,“submodule”:“getLang”,“method”:“error-handler”,“app”:“main”,“reqId”:“c9b94366-1ec5-4fc4-a49f-5076c45a5768”,“dataSourceKey”:“main”,“timestamp”:“2025-03-16 22:02:30”}
{“level”:“error”,“message”:“response /api/app:getLang?locale=zh-CN”,“method”:“GET”,“path”:“/api/app:getLang?locale=zh-CN”,“res”:[{“message”:“connect ETIMEDOUT”}],“action”:{“actionName”:“getLang”,“resourceName”:“app”,“params”:{“locale”:“zh-CN”,“resourceName”:“app”,“actionName”:“getLang”,“values”:{}}},“status”:500,“cost”:1487,“app”:“main”,“reqId”:“c9b94366-1ec5-4fc4-a49f-5076c45a5768”,“bodySize”:44,“timestamp”:“2025-03-16 22:02:30”}
client disconnected fYCPxMogAoMyuX33zY-5M
{“level”:“info”,“message”:“request GET /api/app:getLang?locale=zh-CN”,“method”:“GET”,“path”:“/api/app:getLang?locale=zh-CN”,“req”:{“header”:{“x-role”:“root”,“x-hostname”:“startup.tdcktz.com”,“x-timezone”:“+08:00”,“x-locale”:“zh-CN”,“x-authenticator”:“basic”}},“app”:“main”,“reqId”:“e12affaf-33f0-45b2-94f9-39693c25f582”,“timestamp”:“2025-03-16 22:02:39”}
new client connected b_NCOSpnnz6HpVCjob1g1
client tags: app#main
client tags: app#main,userId#1
client disconnected mGuEdXUIZ7KVjmbhQPODq
{“level”:“info”,“message”:“request GET /api/app:getLang?locale=zh-CN”,“method”:“GET”,“path”:“/api/app:getLang?locale=zh-CN”,“req”:{“header”:{“x-role”:“admin”,“x-hostname”:“startup.tdcktz.com”,“x-timezone”:“+08:00”,“x-locale”:“zh-CN”,“x-authenticator”:“basic”}},“app”:“main”,“reqId”:“f2c54191-15d0-485f-a3f2-ebfffcb5baf5”,“timestamp”:“2025-03-16 22:02:44”}
new client connected zOT3eiNd5rQ2QVPw0Y0SP
client tags: app#main
client tags: app#main,userId#512
{“level”:“error”,“message”:“connect ETIMEDOUT”,“meta”:{“err”:“SequelizeConnectionError: connect ETIMEDOUT\n at ConnectionManager.connect (/app/nocobase/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:102:17)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async ConnectionManager._connect (/app/nocobase/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:222:24)”},“module”:“app”,“submodule”:“getLang”,“method”:“error-handler”,“app”:“main”,“reqId”:“e12affaf-33f0-45b2-94f9-39693c25f582”,“dataSourceKey”:“main”,“timestamp”:“2025-03-16 22:02:49”}
{“level”:“error”,“message”:“response /api/app:getLang?locale=zh-CN”,“method”:“GET”,“path”:“/api/app:getLang?locale=zh-CN”,“res”:[{“message”:“connect ETIMEDOUT”}],“action”:{“actionName”:“getLang”,“resourceName”:“app”,“params”:{“locale”:“zh-CN”,“resourceName”:“app”,“actionName”:“getLang”,“values”:{}}},“status”:500,“cost”:10004,“app”:“main”,“reqId”:“e12affaf-33f0-45b2-94f9-39693c25f582”,“bodySize”:44,“timestamp”:“2025-03-16 22:02:49”}
{“level”:“error”,“message”:“connect ETIMEDOUT”,“meta”:{“err”:“SequelizeConnectionError: connect ETIMEDOUT\n at ConnectionManager.connect (/app/nocobase/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:102:17)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async ConnectionManager._connect (/app/nocobase/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:222:24)”},“module”:“app”,“submodule”:“getLang”,“method”:“error-handler”,“app”:“main”,“reqId”:“f2c54191-15d0-485f-a3f2-ebfffcb5baf5”,“dataSourceKey”:“main”,“timestamp”:“2025-03-16 22:02:54”}
{“level”:“error”,“message”:“response /api/app:getLang?locale=zh-CN”,“method”:“GET”,“path”:“/api/app:getLang?locale=zh-CN”,“res”:[{“message”:“connect ETIMEDOUT”}],“action”:{“actionName”:“getLang”,“resourceName”:“app”,“params”:{“locale”:“zh-CN”,“resourceName”:“app”,“actionName”:“getLang”,“values”:{}}},“status”:500,“cost”:10004,“app”:“main”,“reqId”:“f2c54191-15d0-485f-a3f2-ebfffcb5baf5”,“bodySize”:44,“timestamp”:“2025-03-16 22:02:54”}

请检查数据库连通性。

数据库是通的,因为在应用不是在第一时间宕机关闭,而是运行一段时间后关闭出现这样异常