You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB Node.js连接器远程连接超时,mysql连接器可正常连接

问题:mysql npm包可连接远程MariaDB,但mariadb npm包连接超时

我有一台运行MariaDB的远程服务器,使用mysql npm包能正常连接,但用mariadb npm包会触发连接超时。
之前在办公环境里,这段mariadb连接代码能正常运行;在家中时,mysql包依然可以正常连接,只有mariadb包连不上,推测不是防火墙问题。

测试代码

import dotenv from "dotenv";
dotenv.config();

// ------------------
// mysql driver WORKS
// ------------------

import mysql from "mysql";

const mysqlConn = mysql.createConnection({
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
});

mysqlConn.connect();

mysqlConn.query("SELECT 'OK' AS status", (error, results) => {
  if (error) throw error;
  console.log("mysql status:", results[0].status); // prints "mysql status: OK"
});

mysqlConn.end();

// ---------------------------
// mariadb driver DOESN'T work
// ---------------------------

import mariadb from "mariadb";

const mariaPool = mariadb.createPool({
  host: process.env.DB_HOST,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
});

async function testMariaConnection() {
  let conn = null;
  try {
    conn = await mariaPool.getConnection();
    const rows = await conn.query("SELECT 1 + 1 AS solution"); // connection timeout error
    console.log("The solution is:", rows[0].solution);
  } finally {
    if (conn !== null) conn.release();
  }
}

testMariaConnection();

报错信息

SqlError: (conn:-1, no: 45028, SQLState: HY000) 
从连接池获取连接超时,耗时10001ms
    (连接池状态: 活跃连接=0 空闲连接=0 上限=10)
{
  sql: null,
  fatal: false,
  errno: 45028,
  sqlState: 'HY000',
  code: 'ER_GET_CONNECTION_TIMEOUT'
}

内容的提问来源于stack exchange,提问作者Nitsan BenHanoch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:38:13