I have a VM Instance on Google Cloud. When I run my Node app from the command line my website shows the database information but when I start the same app using pm2 I can't see the information and I am not getting any errors to indicate why this is happening. How do I get my app to connect to my database while it is being ran by pm2.
Here is a code snippet:
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);
UPDATE: This is the pm2 error log:
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' }