为什么 mysql 连接不适用于 dotenv 变量
Why is mysql connection not working with dotenv variables
晚上好,
我一直在尝试使用 dotenv 变量连接到我的数据库。
在我使用它之前它运行良好。
我有 2 个文件:1 个文件 mysqlConfig,我在其中放置我的数据库设置,以及 .env 我在其中放置我的变量。
我看不出我做错了什么:
SOCKET_PATH='/Applications/MAMP/tmp/mysql/mysql.sock'
USER='root'
PASSWORD='root'
HOST='localhost'
DATABASE='Groupomania'
Mysql配置:
require('dotenv').config();
var mysql = require('mysql');
// Connexion à MYSQL
var bdd = mysql.createConnection({
socketPath : process.env.SOCKET_PATH,
user : process.env.USER,
password : process.env.PASSWORD,
host : process.env.HOST,
database : process.env.DATABASE
});
module.exports = bdd;
感谢您的帮助
晚上好
可能是因为 dotenv
软件包未能找到您的 .env
文件。
尝试打印任何变量,看看它是否未定义。如果是,我的假设是正确的。
console.log(process.env['SOCKET_PATH'])
在这种情况下,您需要手动指定 .env 文件的相对路径。这可以通过将选项对象传递给您的配置函数来完成,其中包含 属性 路径:
const path = require('path')
require('dotenv').config({
path: path.resolve(__dirname, '../../.env')
})
好的,我刚发现问题...
我对每个变量都使用了控制台日志,但我发现我的 USER 不正确...这是我的姓氏(我不知道为什么?)
我不知道变量 USER 是保留的吗?
无论如何,这样就可以了...
SOCKET_PATH='/Applications/MAMP/tmp/mysql/mysql.sock'
USERDB='root'
PASSWORD='root'
HOST='127.0.0.1'
DATABASE='Groupomania'
mysql配置
require('dotenv').config();
var mysql = require('mysql');
// Connexion à MYSQL
var bdd = mysql.createConnection({
socketPath : process.env.SOCKET_PATH,
user : process.env.USERDB,
password : process.env.PASSWORD,
host : process.env.HOST,
database : process.env.DATABASE
});
module.exports = bdd;
你的回答很有帮助,谢谢!!
晚上好,
我一直在尝试使用 dotenv 变量连接到我的数据库。 在我使用它之前它运行良好。
我有 2 个文件:1 个文件 mysqlConfig,我在其中放置我的数据库设置,以及 .env 我在其中放置我的变量。
我看不出我做错了什么:
SOCKET_PATH='/Applications/MAMP/tmp/mysql/mysql.sock'
USER='root'
PASSWORD='root'
HOST='localhost'
DATABASE='Groupomania'
Mysql配置:
require('dotenv').config();
var mysql = require('mysql');
// Connexion à MYSQL
var bdd = mysql.createConnection({
socketPath : process.env.SOCKET_PATH,
user : process.env.USER,
password : process.env.PASSWORD,
host : process.env.HOST,
database : process.env.DATABASE
});
module.exports = bdd;
感谢您的帮助
晚上好
可能是因为 dotenv
软件包未能找到您的 .env
文件。
尝试打印任何变量,看看它是否未定义。如果是,我的假设是正确的。
console.log(process.env['SOCKET_PATH'])
在这种情况下,您需要手动指定 .env 文件的相对路径。这可以通过将选项对象传递给您的配置函数来完成,其中包含 属性 路径:
const path = require('path')
require('dotenv').config({
path: path.resolve(__dirname, '../../.env')
})
好的,我刚发现问题...
我对每个变量都使用了控制台日志,但我发现我的 USER 不正确...这是我的姓氏(我不知道为什么?)
我不知道变量 USER 是保留的吗?
无论如何,这样就可以了...
SOCKET_PATH='/Applications/MAMP/tmp/mysql/mysql.sock'
USERDB='root'
PASSWORD='root'
HOST='127.0.0.1'
DATABASE='Groupomania'
mysql配置
require('dotenv').config();
var mysql = require('mysql');
// Connexion à MYSQL
var bdd = mysql.createConnection({
socketPath : process.env.SOCKET_PATH,
user : process.env.USERDB,
password : process.env.PASSWORD,
host : process.env.HOST,
database : process.env.DATABASE
});
module.exports = bdd;
你的回答很有帮助,谢谢!!