Heim >Java >javaLernprogramm >Warum erhalte ich beim Herstellen einer Verbindung zu MySQL die Fehlermeldung „java.sql.SQLException: Zugriff verweigert'?

Warum erhalte ich beim Herstellen einer Verbindung zu MySQL die Fehlermeldung „java.sql.SQLException: Zugriff verweigert'?

DDD
DDDOriginal
2024-10-25 03:19:02394Durchsuche

Why Am I Getting a

Zugriff auf MySQL mit unzureichenden Benutzerberechtigungen: Behebung von „java.sql.SQLException: Zugriff verweigert“

Auftreten der Ausnahme „java.sql. „SQLException: Zugriff verweigert“ beim Herstellen einer Verbindung zu einer MySQL-Datenbank über Java kann frustrierend sein. Dieser Fehler weist typischerweise darauf hin, dass der Benutzer, der versucht, eine Verbindung herzustellen, nicht über die entsprechenden Berechtigungen zum Zugriff auf die Datenbank verfügt.

In Ihrem Fall ergibt sich die Ausnahme aus dem folgenden Codeausschnitt:

<code class="java">Connection m_connection = DriverManager.getConnection("jdbc:mysql://localhost", "root", "root");</code>

Der Code versucht um eine Verbindung zu einer MySQL-Datenbank herzustellen, die auf localhost läuft, unter Verwendung des „root“-Benutzers mit dem „root“-Passwort. Der Fehler deutet jedoch darauf hin, dass diese Anmeldeinformationen nicht über die erforderlichen Berechtigungen für den Zugriff auf die Datenbank verfügen.

Um dieses Problem zu beheben, müssen Sie dem Benutzer, der versucht, eine Verbindung herzustellen, die entsprechenden Berechtigungen erteilen. In MySQL kann dies durch Ausführen der folgenden Abfrage erreicht werden:

<code class="sql">GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;</code>

Denken Sie daran, „%password%“ durch Ihr tatsächliches MySQL-Passwort zu ersetzen.

Sobald Sie diese Abfrage ausgeführt haben, können Sie Mit dem Benutzer „root“ und dem angegebenen Passwort sollte eine erfolgreiche Verbindung zur MySQL-Datenbank möglich sein.

Alternativ in Ihrem zweiten Codeausschnitt:

<code class="java">Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=rootpassword"); </code>

Sie verwenden einen anderen Ansatz um den Benutzer und das Passwort in die Verbindungs-URL selbst aufzunehmen. Obwohl dieser Ansatz bequem sein kann, ist er im Allgemeinen weniger sicher, da er das Passwort im Klartext preisgibt.

Es wird immer empfohlen, eine Konfigurationsdatei oder einen anderen sicheren Mechanismus zum Speichern von Datenbankanmeldeinformationen zu verwenden, anstatt sie direkt darin einzubetten Ihren Code oder Ihre Verbindungs-URL.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Herstellen einer Verbindung zu MySQL die Fehlermeldung „java.sql.SQLException: Zugriff verweigert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn