2
respuestas

excepcion

Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:446) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229) at com.alura.tests.PruebaConexion.main(PruebaConexion.java:10)

No se porque es el error que se me esta presentando, estoy muy atrasado en mis clases por eso.
2 respuestas

Hola Moralens,

¿Ha podido resolver el error? Parece un problema con las credenciales de acceso a tu base de datos MySQL. El error 'Access denied for user 'root'@'localhost' (using password: YES)' generalmente significa que el usuario 'root' no tiene acceso a la base de datos desde 'localhost' con la contraseña proporcionada.

Aquí hay algunas cosas que podrías revisar:

  1. Verifica si el usuario 'root' existe y si la contraseña proporcionada es correcta. En el código que estás utilizando para conectarte a la base de datos, deberías tener una línea similar a esta:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/control_de_stock?useTimeZone=true&serverTimeZone=UTC", "root", "root1234");

En este caso, "root" es el usuario y "root1234" es la contraseña. Asegúrate de que estas credenciales son correctas.

  1. Asegúrate de que el usuario 'root' tiene los privilegios necesarios para acceder a la base de datos. Puedes hacer esto ejecutando un comando SQL como este en tu base de datos:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
  1. Si estás utilizando una versión de MySQL 8.0 o superior, puede haber un problema con el método de autenticación. Las versiones más recientes de MySQL utilizan 'caching_sha2_password' como método de autenticación por defecto, mientras que las versiones anteriores utilizan 'mysql_native_password'. Si este es el caso, puedes cambiar el método de autenticación de tu usuario 'root' a 'mysql_native_password' con un comando SQL como este:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tu_contraseña';

Recuerda reemplazar 'tu_contraseña' con la contraseña real que estás utilizando.

Espero que estas sugerencias te ayuden a resolver el problema. Si aún tienes problemas, por favor proporciona más detalles sobre tu configuración para ayudarte.

Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios

a mi me salieron varios de esos errores, por que en el video me confundi enla parte donde va la contraseña.... ahí pone "root1234" que es la contraseña que coloco al inicio, ahí va la que tu pusiste pero sin el root. En mi caso puse "rootcontraseña" lanzo varias exepciones... Pero deve ser solo "contraseña" sin la palabra "root" asi ya no me lanzo ningun error.

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/control_de_stock?useTimeZone=true&serverTimeZone=UTC",
                "root",
                "contraseña");

Tambien use los metodos de la respuesta anterior pero no revice a detalle si hubo cambios. asi que los consideraria como parte de mi solucion.