簡體   English   中英

我無法使用 process.env.variable 連接到 mysql 數據庫

[英]I can't connect to mysql database using process.env.variable

我的 config.env 文件

PORT=5000
DB_HOST='localhost'
DB_PORT=3306
DB_USER='root'
DB_PASSWORD='fast'
DB_NAME='hms'

我的 dbconnect 文件(與 config.env 文件在同一目錄中)我無法使用 process.env 進行連接,但是如果我像在注釋代碼中那樣直接鍵入值,那么它將連接到數據庫。 另外,如果我 console.log process.env.anyvariable 的值,那么我將獲得 env 變量的正確值,但是如果我將它分配給某個變量,比如假設 const variable=process.env.DB_HOST那么它將在 console.log 中未定義. 它給我這個錯誤

code: 'ER_ACCESS_DENIED_ERROR',
  errno: 1045,
  sqlMessage: "Access denied for user ''@'localhost' (using password: NO)",
  sqlState: '28000',
  fatal: true

const mysql = require("mysql")
const dotenv = require("dotenv")

dotenv.config({ path: './config.env' });

const connection = mysql.createConnection({
    host: process.env.DB_HOST,
    port: process.env.DB_PORT,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_NAME
})

// const connection = mysql.createConnection({
//     host: 'localhost',
//     port: 3306,
//     user: 'root',
//     password: 'fast',
//     database: 'hms'
// })

connection.connect( (err) => {
    if (err){
        console.log(err)
    }
    else
    {
        console.log("Database connected!")
    }
})

我的 /config/config.env 不在父目錄中,所以不是

dotenv.config({ path: './config.env' });

dotenv.config({ path: __dirname + '/config.env' });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM