UnhandledPromiseRejectionWarning: KnexTimeoutError: Knex: Timeout acquiring a connection

UnhandledPromiseRejectionWarning: KnexTimeoutError: Knex: Timeout acquiring a connection

我正在尝试将数据库连接到我的 Telegram 机器人,我想为此使用 knex。 我使用 MySQL。数据库和 table 已创建。我也可以在 /phpMyAdmin 页面上看到它,所以它可以工作(我使用了与我的代码中使用的相同的凭据)。我已经仔细检查了配置数据,这是正确的。 这是客户端创建代码:

 this.knex = knex({
      client: "mysql",
      connection: {
        host: this.config.HOST,
        port: this.config.PORT,
        user: this.config.USERNAME,
        password: this.config.PASSWORD,
        database: this.config.DATABASE,
      },
//I've added next line, cuz I was thinking there is pool error, but it didn't work
          pool: { min: 0, max: 7 },
       });

我把它放在我的 class 里了。这是方法,我正在尝试调用(None of console.logs works):

  async getManagers() {
    const managers = await this.knex
      .select("*")
      .from("users")
      .where("isManager", 1)
      .then((data) => {
        console.log(data);
      });

    console.log(managers);
  }

我绝对确定我有一个名为 user 的 table 和其中的字段 isManager。 我是这样称呼它的:

const dbDataService = new DBDataService(databaseConfiguration);
dbDataService.getManagers();

我一直收到这个:

(node:31227) UnhandledPromiseRejectionWarning: KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
    at Client_MySQL.acquireConnection (/project/node_modules/knex/lib/client.js:348:26)
(node:31227) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

如果有帮助,我会添加我的依赖列表:

  "dependencies": {
    "dotenv": "^11.0.0",
    "mysql": "^2.1.0",
    "knex": "^0.21.1",
    "log4js": "^6.3.0",
    "node-telegram-bot-api": "^0.56.0"
  }

我尝试使用不同的 knex 版本 (1.0.1),但仍然出现此错误。我已经花了一整天的时间来完成这项工作,但仍然无法弄清楚。希望你们中有人能帮助我。谢谢。

实际上,我搞砸了 PORT。我应该使用 3306,而不是 80。