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
相关产品推荐
相关产品推荐

