Sin usar mi archivo .env, funciona, pero cuando solía crear una conexión, falla.
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 = dbtengo este error
error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL clientPero ya estoy actualizado con la última versión de mysql.
Alguna idea ?
Ya intenté esto, pero tampoco funcionó, incluso si puedo ejecutar esos comandos.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; flush privileges;A veces son los nombres de las variables en el archivo .env el verdadero problema... esto es lo que uso:
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¡Me enteré! process.env mire primero en el sistema antes de mi archivo .env. USUARIO ya está declarado, por lo que me devuelve mi nombre de usuario de mi computadora. Solo necesitaba modificar el nombre de la variable de usuario, y funcionó bien