node.js - Node可以连接到maria数据库但pm2不能
问题描述
我在 Google Cloud 上有一个 VM 实例。当我从命令行运行我的 Node 应用程序时,我的网站会显示数据库信息,但是当我使用 pm2 启动同一个应用程序时,我看不到这些信息,并且我没有收到任何错误来说明为什么会发生这种情况。如何让我的应用程序在由 pm2 运行时连接到我的数据库。
这是一个代码片段:
app.get('/gregs-garments/clothing-data', async (req,res) => {
const poolClothes = mariadb.createPool({
host: 'localhost',
user: 'myUser',
port: 3306,
password: process.env.DB_PWD,
database: 'gregs_garments'
});
let sqlquery = 'SELECT * FROM clothes;';
let conn = await poolClothes.getConnection();
let rows = await conn.query(sqlquery);
res.json(rows);
更新: 这是 pm2 错误日志:
0|mysite | From event:
0|mysite | at _registerHandshakeCmd (/mysite/node_modules/mariadb/lib/connection.js:735:11)
0|mysite | at /mysite/node_modules/mariadb/lib/connection.js:57:11
0|mysite | at new Promise (<anonymous>)
0|mysite | at Connection.connect (/mysite/node_modules/mariadb/lib/connection.js:56:16)
0|mysite | at createConnectionPoolPromise (/mysite/node_modules/mariadb/lib/pool-promise.js:31:8)
0|mysite | at creationTryout (/mysite/node_modules/mariadb/lib/pool-base.js:352:9)
0|mysite | at /mysite/node_modules/mariadb/lib/pool-base.js:371:7
0|mysite | at new Promise (<anonymous>)
0|mysite | at connectionCreationLoop (/mysite/node_modules/mariadb/lib/pool-base.js:336:12)
0|mysite | at process.nextTick (/mysite/node_modules/mariadb/lib/pool-base.js:443:11)
0|mysite | fatal: true,
0|mysite | errno: 1045,
0|mysite | sqlState: '28000',
0|mysite | code: 'ER_ACCESS_DENIED_ERROR' }