Sample Header Ad - 728x90

Why I get "Access denied for user \'root\'@\'localhost\' (using password: NO)" after I added .env variables?

0 votes
2 answers
14445 views
I'm using mariadb with nodejs on centos 8. Whenever I add process.env variables to my mysql.createConnection function I get error Access denied for user \'root\'@\'localhost\' (using password: NO) but it worked before I replaced code like host: localhost with host: process.env.DATABASE_HOST. ---------- Code that worked before using .env varaibles : const express = require('express'); const mysql = require("mysql"); const dotenv = require('dotenv'); dotenv.config({ path: './.env'}); const app = express(); const db = mysql.createConnection({ host: 'localhost', user: 'root', password: 'DBPASSWORD', database: 'nodejs-login' }); db.connect( (error) => { if(error) { console.log(error) } else { console.log("MySQL Connected...") } }) app.get("/", (req, res) => { res.send("

Home page

") }); app.listen(3000, () => { console.log("server started on Port 3000"); }) Terminal: server started on Port 3000 MySQL Connected... ---------- After adding .env variables: const express = require('express'); const mysql = require("mysql"); const dotenv = require('dotenv'); dotenv.config({ path: './.env'}); const app = express(); const db = mysql.createConnection({ host: process.env.DATABASE_HOST, user: process.env.DATABASE_USER, password: process.env.DATABASE_PASSWORD, database: process.env.DATABASE }); db.connect( (error) => { if(error) { console.log(error) } else { console.log("MySQL Connected...") } }) app.get("/", (req, res) => { res.send("

Home page

") }); app.listen(3000, () => { console.log("server started on Port 3000"); }) Project location on my system and project files: $ pwd /var/www/node $ ls -a . .. app.js .env node_modules package.json package-lock.json .env file content: DATABASE = nodejs-login DATABASE_HOST = localhost DATABASE_USER = root DATABASE_PASSSWORD = "DBPASSWORD" Terminal: server started on Port 3000 { Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: NO) at Handshake.Sequence._packetToError (/var/www/node/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14) at Handshake.ErrorPacket (/var/www/node/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18) at Protocol._parsePacket (/var/www/node/node_modules/mysql/lib/protocol/Protocol.js:291:23) at Parser._parsePacket (/var/www/node/node_modules/mysql/lib/protocol/Parser.js:433:10) at Parser.write (/var/www/node/node_modules/mysql/lib/protocol/Parser.js:43:10) at Protocol.write (/var/www/node/node_modules/mysql/lib/protocol/Protocol.js:38:16) at Socket. (/var/www/node/node_modules/mysql/lib/Connection.js:88:28) at Socket. (/var/www/node/node_modules/mysql/lib/Connection.js:526:10) at Socket.emit (events.js:198:13) at addChunk (_stream_readable.js:288:12) -------------------- at Protocol._enqueue (/var/www/node/node_modules/mysql/lib/protocol/Protocol.js:144:48) at Protocol.handshake (/var/www/node/node_modules/mysql/lib/protocol/Protocol.js:51:23) at Connection.connect (/var/www/node/node_modules/mysql/lib/Connection.js:116:18) at Object. (/var/www/node/app.js:16:4) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) code: 'ER_ACCESS_DENIED_ERROR', errno: 1045, sqlMessage: 'Access denied for user \'root\'@\'localhost\' (using password: NO)', sqlState: '28000', fatal: true }
Asked by CHEWKOK (25 rep)
Aug 7, 2020, 01:26 PM
Last activity: May 30, 2024, 09:19 AM