如何将Node.js连接到MySQL Workbench

问题描述 投票:0回答:2

错误:

错误:ER_ACCESS_DENIED_ERROR:对用户“ @'localhost”的访问被拒绝(使用密码:否)

用于连接的一段代码是:

var mysql = require("mysql");
require("dotenv").config();

var pool = mysql.createConnection({   connectionLimit: 10,   host:
process.env.DB_HOST,   user: process.env.DB_USER,   password:
process.env.DB_PASSWORD,   database: process.env.DB_DATABASE,   port:
process.env.DB_PORT,   multipleStatements: true });
database connectivity
2个回答
1
投票

我认为最好在.env文件中设置连接参数。您正在使用dotenv。只需添加

DB_USER=<username>
DB_PASSWORD=<password>
DB_HOST=localhost
DB_PORT=3306

不要忘记将<username><password>更改为您的用户名和密码。

建议从问题标题中删除Workbench。您正在连接到服务器。


0
投票

似乎您没有设置环境变量DB_USERDB_PASSWORD

您应在运行脚本之前设置环境变量。请确保设置实际值。

export DB_USER=username 
export DB_PASSWORD=password
export DB_HOST=localhost
export DB_PORT=3306
node script.js

script.js

var mysql = require("mysql");
require("dotenv").config();

var pool = mysql.createConnection({
  connectionLimit: 10, host:
    process.env.DB_HOST, 
    user: process.env.DB_USER, 
    password: process.env.DB_PASSWORD, 
    database: process.env.DB_DATABASE, 
    port: process.env.DB_PORT, 
    multipleStatements: true
});

console.log('process.env.DB_HOST: ', process.env.DB_HOST)
console.log('process.env.DB_USER: ', process.env.DB_USER)
console.log('process.env.DB_PASSWORD: ', process.env.DB_PASSWORD)
console.log('process.env.DB_DATABASE: ', process.env.DB_DATABASE)
console.log('process.env.DB_PORT: ', process.env.DB_PORT)

要检查您的凭据是否正确,可以使用mysql命令进行检查。请使用正确的用户名和密码在终端中运行此命令。

mysql -u username -p password

© www.soinside.com 2019 - 2024. All rights reserved.