节点MariaDB在获取连接时卡住

p5cysglq  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(106)

我正在本地运行mariadb,并希望使用节点驱动程序查询几行。下面的代码直接来自mariadb节点文档。我已确认服务器已启动并正在运行,并且可以从CLI本身进行查询。
奇怪的是,脚本没有失败或抛出错误。它只是在await pool.getConnection()行卡住了。我甚至等了5分钟。
我的服务器版本是Server version: 10.7.3-MariaDB Homebrew,我正在使用节点https://www.npmjs.com/package/mariadb3.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();
        }

})();

我已经在两个不同的设备上试过了,都有同样的问题。有什么想法吗?

3xiyfsfu

3xiyfsfu1#

这是一个错误。使用开发工具调试让我意识到在未声明的var中有一个普通的运行时错误。错误被捕获并抛出。但由于这是作为ad-hoc脚本调用的,我从来没有意识到错误是什么。用console.error替换抛出让我看到错误

相关问题