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.
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 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 FacebookArtículo relacionado - Java Exception
- Arreglar Java.Net.SocketException: error de tubería rota en Java
- Clase de excepción Java Throwable VS
- Comprender la excepción de tiempo de ejecución en Java
- Corrija la excepción Java.Net.BindException: la dirección ya está en uso: Bind
- El proceso de Java Gateway se cerró antes de enviar su número de puerto
- Excepción de entrada no válida en Java