如果不使用我的.env文件,它就能工作,但是当我过去创建连接时,它会失败。
var mysql = require('mysql');
require('dotenv').config();
const db = mysql.createConnection({
host: process.env.HOST,
port: "3306",
user: process.env.USER,
password: process.env.PASSWORD,
database: process.env.DATABASE
});
module.exports = db我有这个错误。
error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client但我已经更新了上一个mysql版本。
知道吗?
我已经尝试过了,但是即使我可以运行这些命令,它也不能工作。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;发布于 2022-02-05 00:36:28
有时.env文件中变量的名称是真正的问题.这就是我所用的:
require("dotenv").config();
const util = require("util");
var mysql = require("mysql");
const conn = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
};
const db = = mysql.createConnection(conn);
module.exports = db发布于 2022-02-05 00:21:38
我发现了!process.env在我的.env文件之前首先查看了系统。用户已经声明,所以它返回我的用户名我的计算机。我只需要更改用户变量的名称,它就可以正常工作了。
https://stackoverflow.com/questions/70994113
复制相似问题