错误:
错误: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 });
我认为最好在.env
文件中设置连接参数。您正在使用dotenv
。只需添加
DB_USER=<username>
DB_PASSWORD=<password>
DB_HOST=localhost
DB_PORT=3306
不要忘记将<username>
和<password>
更改为您的用户名和密码。
建议从问题标题中删除Workbench
。您正在连接到服务器。
似乎您没有设置环境变量DB_USER
和DB_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