webentwicklung-frage-antwort-db.com.de

Warum ist die MySQL-Verbindung wegen vieler Verbindungsfehler blockiert?

Wie Sie sehen, habe ich ein Problem mit einer Datenbankverbindung. Es gibt mir diesen Fehler:

... ist wegen vieler Verbindungsfehler gesperrt

Ich habe nach Antworten gesucht, aber mein Problem konnte nicht gelöst werden.

Ich weiß nicht, ob ich Ihnen alle Informationen gegeben habe, die Sie benötigen. Wenn Sie etwas anderes benötigen, sagen Sie es mir einfach. Ich habe eine Datenbankverbindung von verschiedenen Computern und ich habe einen Benutzer erstellt, um auf die Datenbank zuzugreifen, aber er hatte % in der Hosts-Zeile, also wollte ich es mit einer IP-Adresse aus Sicherheitsgründen ändern und es gab mir diesen Fehler, also stecke ich jetzt fest.

17
Nick

MySQL blockiert Clients, bei deren Verbindungsherstellung ein Fehler aufgetreten ist, um MySQL vor fehlerhaften Clients zu schützen.

Also müssen Sie zuerst herausfinden, was für ein Fehler ist ...

Möglicherweise überprüfen Sie das MySQL-Fehlerprotokoll im Datenverzeichnis. (normalerweise hostname.err )

Oder Sie können max_connect_errors (Was ist der aktuelle Wert?) Der maximale Wert hängt von der Architektur ab. auf 32 bit, 4294967295. 18446744073709547520 für 64 bit. ( Manuell )

mysql> SET GLOBAL max_connect_errors = 100000000;

Dies ist jedoch keine echte Lösung, wenn häufig Fehler auftreten.

FLUSH HOSTS kann Ihnen helfen, blockierte Hosts sofort zu entfernen.

mysql> FLUSH HOSTS;

Wenn Sie von außerhalb der MySQL-Konsole ausführen möchten, verwenden Sie den Befehl mysqladmin:

# mysqladmin flush-hosts
27
Jason Heo

Leeren Sie zuerst das lokale MySQL-Hosts mit dem folgenden Befehl:

mysqladmin -u [username] -p flush-hosts
**** [MySQL password]

oder

mysqladmin flush-hosts -u [username] -p
**** [MySQL password]

netzwerk MySQL Server:

mysqladmin -h <ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [END POINT URL] -P 3306 -u [DB USER] -p flush-hosts 

In einem zusätzlichen Vorschlag können Sie das Problem mit blockierten Verbindungen dauerhaft lösen, indem Sie die Datei my.ini [MySQL-Konfigurationsdatei] bearbeiten.

variable ändern max_connections = 10000;

oder

mit der Kommandozeile in MySQL einloggen -

mysql -u [username] -p
**** [MySQL password]

füge den folgenden Befehl in das MySQL-Fenster ein

SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;

überprüfe die Richtigkeit mit Kommando

show variables like "max_connections";
show variables like "max_connect_errors";
2
Syeful Islam