'"Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?" in Next.js API route

Before I was trying to connect mysql to server, I already connect mysql to my localhost and it works. But now I'm trying connect mysql to a server and it does not work. Can anyone solve this?

knexfile.js

module.exports = {
      development: {
        client: "mysql",
        connection: {
          host: process.env.DB_HOST,
          port: process.env.DB_PORT,
          user: process.env.DB_USER,
          password: process.env.DB_PASSWORD,
          database: process.env.DB_NAME,
        },
      },
};

knex.js

const knex = require("knex")({
      client: "mysql",
      connection: {
        host: process.env.DB_HOST,
        port: process.env.DB_PORT,
        user: process.env.DB_USER,
        password: process.env.DB_PASSWORD,
        database: process.env.DB_NAME,
      },
});

export default knex;

register api file

import knex from "../../../libs/knex";
import bcrypt from "bcryptjs";
import Chance from "chance";
var chance = new Chance();

const path = require("path");

export default async function hadler(req, res) {
  if (req.method !== "POST") return res.status(405).end();
  const { username, password } = req.body;

  const salt = bcrypt.genSaltSync(10);
  const hashPassword = bcrypt.hashSync(password, salt);

  //: Check avaible username in database
  const checkUsername = await knex("users").where({ username }).first();
  if (checkUsername) return res.status(406).end();

  //: Insert data to database
  const key = chance.string({ length: 50 });
  const user = await knex("users").insert({
    username,
    password: hashPassword,
    userKey,
  });

  //: Create new table

  await knex.schema.createTable(`t_${username}`, function (table) {
    table.increments("id");
    table.string("title");
    table.string("subtitle");
    table.string("content");
    table.timestamps(true, true);
  });

  res.status(200).json({
    message: "Registered succesfully!",
    data: req.body,
    tableName: `t_${username}`,
  });
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source