Java.SQL.SQLException: Acceso denegado para el usuario Root@Localhost

Sheeraz Gul 15 febrero 2024
Java.SQL.SQLException: Acceso denegado para el usuario Root@Localhost

Este tutorial demuestra cómo resolver el error java.sql.SQLException: Acceso denegado para el usuario 'root'@'localhost' en Java.

Arreglar java.sql.SQLException: acceso denegado para el usuario 'root'@'localhost' (con contraseña: SÍ) en Java

Este error ocurre cuando intentamos desinstalar e instalar una versión nueva o anterior de MySQL. El error ocurre porque cuando desinstalamos MySQL, el asistente de desinstalación de MySQL no realiza la limpieza completa.

La limpieza manual de la basura restante resolverá este problema. El error que ocurre está debajo.

SQLException

Para solucionar este error, siga unos sencillos pasos.

  • Primero, desinstale el servidor MySQL con el Asistente de desinstalación.
  • La carpeta de instalación aún estará presente; eliminar todo de la carpeta. Por ejemplo, la carpeta es:
    C:\Program Files (x86)\MySQL
    
  • Ahora, reinstale el servidor MySQL.

El proceso anterior eliminará las contraseñas guardadas anteriormente y otra información que cause este error.

También hay otras razones para este error. Por ejemplo, crear una nueva base de datos desde cero usando Java y MySQL puede arrojar el mismo error.

Ver ejemplo:

package delftstack;

import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Example {
  public static void main(String[] args) throws ClassNotFoundException, SQLException {
    try {
      Connection Database_Connection = (Connection) DriverManager.getConnection(
          "jdbc:mysql://localhost/?user=root&password=rootpassword");
      Statement Demo_Statement = (Statement) Database_Connection.createStatement();
      int result = Demo_Statement.executeUpdate("CREATE New Database");
    }

    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

El código anterior arrojará el mismo error, y la razón por la que arroja el error es que no estamos creando correctamente la nueva base de datos. La solución para el código anterior se da a continuación.

package delftstack;

import com.mysql.jdbc.PreparedStatement;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Example {
  public static void main(String[] args) throws ClassNotFoundException, SQLException {
    try {
      Connection Database_Connection =
          DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=rootpassword");
      PreparedStatement Demo_Statement =
          (PreparedStatement) Database_Connection.prepareStatement("CREATE DATABASE databasename");
      int result = Demo_Statement.executeUpdate("CREATE New Database");
    }

    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Este código creará con éxito una nueva base de datos sin ningún error.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Java Exception