mysql - MariaDB 池无法创建连接
问题描述
在运行我的 Node 项目 2-3 分钟后,我正面临每分钟左右弹出的警告/错误消息。一直在网上搜索,但找不到任何解决方案。
pool failed to create connection ((conn=-1, no: 45009, SQLState: 08S01) socket has unexpectedly been closed)
我的 db.js
const mysql = require("mysql"); //^2.18.1
const mariadb = require("mariadb"); //^2.5.3
const DB_OPTIONS = {
host: "127.0.0.1",
user: "root",
password: "",
database: "test-db",
port: 3306,
minDelayValidation: 5000
};
const connection = mariadb.createPool(DB_OPTIONS);
connection.getConnection().then((conn) => {
console.log("Connected to DB!", conn.threadId);
if (conn) conn.release();
}).catch((err) => {
console.error("Error while connecting to DB", err);
});
module.exports = connection;
测试.js
...
let database = require("./../middleware/db");
...
...
try
{
database.query(dbQuery, dbParameters).then((result) => {
...
}).catch((dbCatchErr) => {
...
})
}
catch (catchErr)
{
console.error(catchErr);
}
MariaDB 版本:10.3.23
解决方案
推荐阅读
- r - 使用 for 循环和 dplyr
- moodle - Moodle 插件作为 exe 文件
- php - Laravel 未呈现示例博客,已授予目录权限
- python - 传递的 `f0` 具有多于 1 个维度。- fmin_l_bfgs_b
- python - 如何从带有列表的嵌套 Json 创建 pandas DataFrame
- ios - 在 xib 视图文件之间导航
- python - 类装饰器实例 int 变量?
- html - 页面上有两个模态窗口 - 但只显示一个
- bash - 通过 cron 运行脚本与手动执行时的结果不同
- python - 在 pygame for mobile 中跟踪鼠标的问题