Java.SQL.SQLException: Zugriff verweigert für Benutzer Root@Localhost

Sheeraz Gul 15 Februar 2024
Java.SQL.SQLException: Zugriff verweigert für Benutzer Root@Localhost

Dieses Tutorial zeigt, wie Sie den Fehler java.sql.SQLException: Access denied for user 'root'@'localhost' in Java lösen.

Fix java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) in Java

Dieser Fehler tritt auf, wenn wir versuchen, eine neue oder frühere Version von MySQL zu deinstallieren und zu installieren. Der Fehler tritt auf, weil bei der Deinstallation von MySQL der MySQL-Deinstallationsassistent nicht die vollständige Bereinigung durchführt.

Durch manuelles Reinigen des verbleibenden Mülls wird dieses Problem gelöst. Der Fehler, der auftritt, ist unten.

SQLException

Befolgen Sie einige einfache Schritte, um diesen Fehler zu beheben.

  • Deinstallieren Sie zuerst den MySQL-Server mit Uninstall Wizard.
  • Der Installationsordner ist noch vorhanden; alles aus dem Ordner löschen. Der Ordner lautet beispielsweise:
    C:\Program Files (x86)\MySQL
    
  • Installieren Sie nun den MySQL-Server neu.

Der obige Vorgang löscht alle zuvor gespeicherten Passwörter und andere Informationen, die diesen Fehler verursachen.

Es gibt auch einige andere Gründe für diesen Fehler. Wenn Sie beispielsweise eine neue Datenbank mit Java und MySQL von Grund auf neu erstellen, kann derselbe Fehler auftreten.

Siehe Beispiel:

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();
    }
  }
}

Der obige Code löst denselben Fehler aus, und der Grund, warum er den Fehler auslöst, ist, dass wir die neue Datenbank nicht richtig erstellen. Die Lösung für den obigen Code ist unten angegeben.

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();
    }
  }
}

Dieser Code erstellt erfolgreich eine neue Datenbank ohne Fehler.

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

Verwandter Artikel - Java Exception