Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich den MySQL-Fehler „Host ‚xxx.xx.xxx.xxx' darf keine Verbindung herstellen'?

Warum erhalte ich den MySQL-Fehler „Host ‚xxx.xx.xxx.xxx' darf keine Verbindung herstellen'?

DDD
DDDOriginal
2024-12-16 12:30:14425Durchsuche

Why Am I Getting the

Fehlerbehebung „Host 'xxx.xx.xxx.xxx' darf keine Verbindung herstellen“ Fehler

Problem:
Beim Versuch Wenn Benutzer aus der Ferne eine Verbindung zu einem MySQL-Server herstellen möchten, erhalten sie die Fehlermeldung „Host 'xxx.xx.xxx.xxx' darf keine Verbindung zu diesem MySQL-Server herstellen“, obwohl sie über den entsprechenden Benutzer verfügen Berechtigungen in der Datenbank.

Mögliche Ursache:

Dieser Fehler ist häufig auf Sicherheitsvorkehrungen oder falsch konfigurierte Benutzerberechtigungen zurückzuführen.

Lösung:

1. Fügen Sie ein neues Administratorkonto hinzu:

Erstellen Sie ein dediziertes Administratorkonto mit eingeschränktem Zugriff:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;

2. Vorhandene Benutzerberechtigungen ändern:

Bearbeiten Sie die Benutzerberechtigungen für den vorhandenen „Root“-Benutzer, indem Sie ihm weniger Berechtigungen gewähren und den Zugriff auf einen bestimmten Host beschränken:

mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
mysql> GRANT SELECT, UPDATE ON table_name TO 'root'@'specific_ip';

3. Platzhalterberechtigungen entfernen:

Löschen Sie alle Benutzereinträge in der Datenbank, die Platzhalterzeichen (%) oder (_) enthalten. Ersetzen Sie sie durch bestimmte Hostwerte.

4. Flush-Berechtigungen:

Nachdem Sie Änderungen an Benutzerberechtigungen vorgenommen haben, denken Sie daran, eine FLUSH PRIVILEGES-Anweisung auszugeben, um die Berechtigungstabellen zu aktualisieren:

mysql> FLUSH PRIVILEGES;

Hinweis:

Es ist im Allgemeinen nicht ratsam, übermäßige Privilegien zu gewähren (z. B. ALLE PRIVILEGIEN EIN .) für Benutzer, die nur eingeschränkten Zugriff benötigen. Erwägen Sie, nur die für ihre spezifischen Rollen erforderlichen Mindestberechtigungen zu erteilen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den MySQL-Fehler „Host ‚xxx.xx.xxx.xxx' darf keine Verbindung herstellen'?. 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