Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

285
Vistas
Reaccionar: tratando de conectar index.js a la base de datos pero no funciona

Así que construí una interfaz en la que puedes completar el nombre de una película, una reseña y enviarla a una base de datos. Ahora estoy tratando de conectar una base de datos mysql que creé a index.js, para que se llene con la primera entrada. Estoy tratando de lograrlo así:

 const express = require('express'); const app = express(); const mysql = require('mysql'); const db = mysql.createPool({ host: "localhost", user: "root", password:"password", database:'CRUDDatabase', }); app.get('/', (req, res) => { const sqlInsert = "INSERT INTO Movie_Reviews(movieName, movieReview) VALUES (1,'inception', 'good movie');" db.query(sqlInsert, (err, result) =>{ res.send("change done"); }); }) app.listen(3001, () => { console.log("running on port 3001") })

Pero de alguna manera, la interfaz recibe el texto que envié "Cambio hecho", pero la base de datos aún no muestra ninguna entrada. ¿Alguna idea de dónde puede estar mi error? ¿Es un error de código o tiene que ver con la configuración de mi base de datos? En mysql workbench acabo de crear una conexión predeterminada sin cambiar nada.

EDITAR: el error parece ser el siguiente: Error: ER_NOT_SUPPORTED_AUTH_MODE: el cliente no admite el protocolo de autenticación solicitado por el servidor; considere actualizar el cliente MySQL

EDITAR: El siguiente comentario aquí resolvió mi problema: Ejecute la siguiente consulta en MYSQL Workbench ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; Donde root como su usuario localhost como su URL y contraseña como su contraseña Luego ejecute esta consulta para actualizar los privilegios: privilegios de vaciado; Intente conectarse usando el nodo después de hacerlo. Si eso no funciona, inténtelo sin la parte @'localhost'.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Creo que tiene un error en su código pero no lo muestra porque no prueba en la variable err, pruebe este código para mostrar qué error está obteniendo:

 const express = require('express'); const app = express(); const mysql = require('mysql'); const db = mysql.createPool({ host: "localhost", user: "root", password:"password", database:'CRUDDatabase', }); app.get('/', (req, res) => { const sqlInsert = "INSERT INTO Movie_Reviews(movieName, movieReview) VALUES (1,'inception', 'good movie');" db.query(sqlInsert, (err, result) =>{ if(err) { console.log(err); res.send(err.toString()); } res.send("change done"); }); }) app.listen(3001, () => { console.log("running on port 3001") })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Entonces, como señaló Med Amine Bejaoui en un comentario , la solución es:

Ejecute la siguiente consulta en MYSQL Workbench ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; Donde root como su usuario localhost como su URL y contraseña como su contraseña Luego ejecute esta consulta para actualizar los privilegios: privilegios de vaciado; Intente conectarse usando el nodo después de hacerlo. Si eso no funciona, inténtelo sin la parte @'localhost'.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda