繁体   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