首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dotenv‘’ont与createConnection一起工作,我应该用什么代替?

dotenv‘’ont与createConnection一起工作,我应该用什么代替?
EN

Stack Overflow用户
提问于 2022-02-04 23:47:49
回答 2查看 84关注 0票数 0

如果不使用我的.env文件,它就能工作,但是当我过去创建连接时,它会失败。

代码语言:javascript
复制
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

我有这个错误。

代码语言:javascript
复制
error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

但我已经更新了上一个mysql版本。

知道吗?

我已经尝试过了,但是即使我可以运行这些命令,它也不能工作。

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
EN

回答 2

Stack Overflow用户

发布于 2022-02-05 00:36:28

有时.env文件中变量的名称是真正的问题.这就是我所用的:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2022-02-05 00:21:38

我发现了!process.env在我的.env文件之前首先查看了系统。用户已经声明,所以它返回我的用户名我的计算机。我只需要更改用户变量的名称,它就可以正常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70994113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档