Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Estancado

Buena noche, necesito ayuda. creo la tabla en MySQL. create database control_de_stock;

use control_de_stock;

create table producto ( id INT AUTO_INCREMENT, nombre VARCHAR(50) NOT NULL, descripcion VARCHAR(255), cantidad INT NOT NULL DEFAULT 0, PRIMARY KEY(ID) )Engine=InnoDB;

insert into producto(nombre, descripcion, cantidad) values ('Mesa', 'Mesa de 4 lugares', 10);

select * from producto;

insert into producto(nombre, descripcion, cantidad) values ('Celular', 'Celular Samsung', 50);

select * from producto;

Luego realizo el codigo en Eclipse:

4.0.0 com.alura control-de-stock 0.0.1-SNAPSHOT Proyecto para trabajar con datos con JDBC 11 mysql mysql-connector-java 8.0.33 org.apache.maven.plugins maven-compiler-plugin 3.10.1 ${java.version} ${java.version} true

luego realizo la clase de prueba:

package com.alura.tests;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;

public class PruebaConexion {

public static void main(String[] args) throws SQLException {
    Connection con = DriverManager.getConnection(
            "jdbc:mysql://localhost/control_de_stock?useTimeZone=true&serverTimeZone=UTC", 
            "root", 
            "rootpasword");
            
   con.close();		
}
    

}

pero cuando le doy run, no funciona, me arroja un error.

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)

Este es el error: Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES). yo no uso esa clave.

no se porque me arroja ese dato, he pasado la semana tratando de solucionar eso pero noes posible.  he realizado el mismo proceso en 3 diferentes computadores pero siempre llego al mismo error.

favor: alguien instructor o compañero que me ayude.
quedo atento a cualquier indicación.
2 respuestas

Hola Elio,

Por el error que has compartido, parece que el problema está en la autenticación con tu base de datos MySQL. El error java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) indica que el usuario 'root' no puede acceder a la base de datos en 'localhost' utilizando la contraseña proporcionada.

En tu código de Java, has proporcionado 'rootpassword' como la contraseña para el usuario 'root'. Sin embargo, mencionas que no usas esta contraseña. Aquí puede estar el problema.

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

Por lo tanto, te sugiero que verifiques la contraseña de tu usuario 'root' en MySQL y asegúrate de usar la misma en tu código Java. Si la contraseña es correcta y aún así no puedes conectarte, podría ser necesario revisar los privilegios del usuario 'root' en tu base de datos MySQL.

Por ejemplo, si tu contraseña es 'mipassword', entonces tu código de conexión sería:

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

Espero que esta sugerencia te ayude a avanzar con tu proyecto. Recuerda, es importante asegurarte de que estás utilizando la información correcta de autenticación para tu base de datos.

Espero haber ayudado y ¡buenos estudios!

Gracias, pero no. No he encontrado el error. ingrese la contraseña con la que abri el mysql, pero no se a que obedece este impace, he buscado solucinones en otras app pero no he ecnontrado solucion, no se cual es el problema.