节点 MariaDB 卡在 getConnection 上
Node MariaDB stuck on getConnection
我在本地 运行 mariadb,想使用 Node 驱动程序查询几行。
下面的代码直接来自 mariadb 节点文档。我已经确认我的服务器已启动并且 运行 并且我可以从 CLI 本身进行查询。
奇怪的是脚本没有失败或抛出错误。它只是卡在 await pool.getConnection()
行。我什至等了5分钟。
我的服务器版本是 Server version: 10.7.3-MariaDB Homebrew
,我正在为 Node https://www.npmjs.com/package/mariadb
使用 3.0.0
包版本
const mariadb = require('mariadb');
const pool = mariadb.createPool({
host: 'localhost',
user: 'node',
password: 'PWD',
connectionLimit: 5,
port: 3306,
database: 'DB',
acquireTimeout: 5000
});
(async () => {
console.log('in iife');
let conn;
try {
console.log('awaiting conn');
//This never gets reached..just gets stuck even after 5s
conn = await pool.getConnection();
console.log(conn);
console.log('awaiting q');
const rows = await conn.query("SELECT * FROM foo where id=1");
console.log(rows);
} catch (err) {
throw err;
} finally {
if (conn) return conn.end();
}
})();
我实际上已经在两个不同的设备上尝试过这个并且有完全相同的问题。
有什么想法吗?
这是一条红鲱鱼。使用开发工具进行调试让我意识到未声明的 var 中存在一个普通的运行时错误。转移注意力的是错误被捕获并抛出。但是 bc 这被称为 ad-hoc 脚本,我从来不知道错误是什么。用 console.error 替换 throw 让我看到错误
我在本地 运行 mariadb,想使用 Node 驱动程序查询几行。 下面的代码直接来自 mariadb 节点文档。我已经确认我的服务器已启动并且 运行 并且我可以从 CLI 本身进行查询。
奇怪的是脚本没有失败或抛出错误。它只是卡在 await pool.getConnection()
行。我什至等了5分钟。
我的服务器版本是 Server version: 10.7.3-MariaDB Homebrew
,我正在为 Node https://www.npmjs.com/package/mariadb
3.0.0
包版本
const mariadb = require('mariadb');
const pool = mariadb.createPool({
host: 'localhost',
user: 'node',
password: 'PWD',
connectionLimit: 5,
port: 3306,
database: 'DB',
acquireTimeout: 5000
});
(async () => {
console.log('in iife');
let conn;
try {
console.log('awaiting conn');
//This never gets reached..just gets stuck even after 5s
conn = await pool.getConnection();
console.log(conn);
console.log('awaiting q');
const rows = await conn.query("SELECT * FROM foo where id=1");
console.log(rows);
} catch (err) {
throw err;
} finally {
if (conn) return conn.end();
}
})();
我实际上已经在两个不同的设备上尝试过这个并且有完全相同的问题。 有什么想法吗?
这是一条红鲱鱼。使用开发工具进行调试让我意识到未声明的 var 中存在一个普通的运行时错误。转移注意力的是错误被捕获并抛出。但是 bc 这被称为 ad-hoc 脚本,我从来不知道错误是什么。用 console.error 替换 throw 让我看到错误