webentwicklung-frage-antwort-db.com.de

FEHLER 2013 (HY000): Verbindung zum MySQL-Server beim Lesen des Berechtigungspakets verloren, Systemfehler:

Ich erhalte folgende Fehlermeldung 

ERROR 2013 (HY000): Lost connection to MySQL server at 
'reading authorization packet', system error: 0

beim Versuch, eine Verbindung zu meinem MySQL-Server herzustellen.

Was mache ich:

  • Ich habe eine Master-Slave-Replikation in MySQL, die funktioniert, und mit F5 nur Lastausgleichsfunktionen hinzugefügt. 
  • Ich habe den F5 entsprechend seiner Site konfiguriert. 

Wenn ich jedoch versuche, eine Verbindung zu meinem MySQL-Server unter Verwendung der IP herzustellen, mit der der F5 konfiguriert wurde, bekomme ich 

ERROR 2013 (HY000): Lost connection to MySQL server at 
'reading authorization packet', system error: 0 

Irgendwelche Ideen?


Update über meinen Fortschritt:ZERO
- Ich erhalte die gleiche Fehlermeldung Ich bekomme keine Einträge in/var/log/secure, als würde jemand versuchen, sich von der IP-Adresse aus zu authentifizieren, auf der ich meinen Lastausgleichserver erstellt hatte.
Keine Einträge im mysql-Fehlerprotokoll.
Der Befehl gibt nichts zurück

mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connections';
Empty set (0.00 sec)

Ich habe meine my.cnf-Datei bereits geändert und die 

[mysqld]
skip-name-resolve

Ändern Sie den connect_timeout in 10.
Es scheint also, dass ich keine Antwort für den Server bekomme, den ich auf meinem F5 erstellt habe 
Ich habe den F5-Admin schließlich überzeugt, mir das Protokoll für den F5-Server zu übergeben, und ich habe alles, was ich brauche, ausdrücken können.
Hier ist die Ausgabe:

  Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_ACCEPTED>: BIG-IP MySQL Proxy -- clientside initial connection
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_ACCEPTED>: BIG-IP MySQL Proxy -- clientside responding with server WELCOME packet
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_DATA>: BIG-IP MySQL Proxy -- clientside authenticated flag not set
Jan 28 15:46:39 tmm err tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_DATA>: BIG-IP MySQL Proxy -- mysql client: attempting to do something before authentication
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <LB_SELECTED>: BIG-IP MySQL Proxy -- serverside selected pool /Common/foss-mysql-slave_pool node SLAVE-IP
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <CLIENT_CLOSED>: BIG-IP MySQL Proxy -- clientside connection closed from MASTER-IP(XXXXXXX)
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy <SERVER_CLOSED>: BIG-IP MySQL Proxy -- serverside connection closed from node SLAVE-IP(XXXXXXXX)

Ich habe die IP aus Sicherheitsgründen ersetzt! 

nur als Extra - und ich denke, hier liegt das Problem - meine MySQL-Version ist 5.1.69-log Thx All 

23
Up_One

Aus der Dokumentation :

In selteneren Fällen kann es vorkommen, dass der Client versucht, eine erste Verbindung zum Server herzustellen. In diesem Fall können Sie das Problem möglicherweise beheben, indem Sie den Wert für connect_timeout auf einige Sekunden setzen. Bei sehr langen Entfernungen oder langsamen Verbindungen können Sie den Wert möglicherweise auf zehn Sekunden erhöhen. Mithilfe von SHOW STATUS LIKE 'aborted_connections' können Sie feststellen, ob diese ungewöhnlichere Ursache vorliegt. Bei jedem ersten Verbindungsversuch, den der Server abbricht, wird die Anzahl um eins erhöht. Möglicherweise wird "Autorisierungspaket lesen" als Teil der Fehlermeldung angezeigt. In diesem Fall ist dies auch die Lösung, die Sie benötigen.

Versuchen Sie, connect_timeout in Ihrer my.cnf -Datei zu erhöhen

Ein anderer Stil:

MySQL: Keine Verbindung zum MySQL-Server beim 'Lesen des anfänglichen Kommunikationspakets'

  1. Zu einem bestimmten Zeitpunkt war es für Remoteclients nicht möglich, eine Verbindung zum MySQL-Server herzustellen.

  2. Der Client (eine Anwendung auf einer Windows-Plattform) gab eine vage Beschreibung wie Connection unexpectedly terminated.

  3. Bei der Remote-Anmeldung mit dem MySQL-Client trat der folgende Fehler auf:

    ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

Unter FreeBSD geschieht dies, weil in /etc/hosts.allow. Keine Übereinstimmung gefunden wurde. Das Hinzufügen der folgenden Zeile vor der Zeile mit der Aufschrift ALL:ALL Behebt dies:

mysqld: ALL: allow

Auf Nicht-FreeBSD-Unix-Systemen lohnt es sich, die Dateien /etc/hosts.allow Und /etc/hosts.deny. Zu überprüfen. Wenn Sie Verbindungen einschränken, vergewissern Sie sich, dass diese Zeile in /etc/hosts.allow Steht:

mysqld: ALL

oder überprüfen Sie, ob der Host in /etc/hosts.deny. aufgeführt ist

In Arch Linux kann eine ähnliche Zeile zu /etc/hosts.allow Hinzugefügt werden:

mysqld: ALL
14
jmail

Dies wird normalerweise durch eine abgebrochene Verbindung verursacht. Sie können dies überprüfen, indem Sie den Status überprüfen:

mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connects';

Wenn dieser Leistungsindikator immer größer wird, wenn Sie die unterbrochenen Verbindungen erhalten, ist dies ein Zeichen dafür, dass während der Verbindung ein Problem auftritt.

Ein Mittel, das in vielen Fällen zu funktionieren scheint, ist die Erhöhung des Timeouts. Ein empfohlener Wert ist 10 Sekunden:

mysql> SET GLOBAL connect_timeout = 10;

Eine weitere häufige Ursache für Verbindungszeitlimits ist das Reverse-DNS-Lookup, das zur Authentifizierung von Clients erforderlich ist. Es wird empfohlen, MySQL mit der config-Variablen in my.cnf auszuführen:

[mysqld]
skip-name-resolve

Dies bedeutet, dass Ihre GRANT-Anweisungen auf der IP-Adresse und nicht auf dem Hostnamen basieren müssen.


Ich habe diesen Bericht aus dem Jahr 2012 auch auf der Website f5.com gefunden (jetzt durch Login geschützt, aber ich habe ihn durch Google-Cache ) erhalten.

Es ist wahrscheinlich, dass der Proxy nicht funktioniert, wenn Sie BIG-IP 11.1 und MySQL 5.1 ausführen, mit denen ich die Versionen getestet habe. Das MySQL-Protokoll ändert sich normalerweise.

Ich schlage vor, dass Sie sich an F5 Support wenden und bestätigen, dass Sie eine unterstützte Kombination von Versionen verwenden.

8
Bill Karwin

Mein Fall war, dass der Server die Verbindung von dieser IP nicht akzeptierte. Der Server ist ein SQL-Server von Google Apps Engine. Sie müssen zulässige Remote-Hosts konfigurieren, die eine Verbindung zum Server herstellen können.

Durch Hinzufügen des (neuen) Hosts zur GAE-Administrationsseite wurde das Problem behoben.

3
Benoit Duffez

Ich habe viel mit diesem Fehler zu kämpfen. Versuchte jede einzelne Antwort, die ich im Internet gefunden hatte.

Am Ende habe ich meinen Computer an den Hotspot meines Handys angeschlossen und alles hat funktioniert. Ich stellte fest, dass das Internet meines Unternehmens die Verbindung zu MySQL blockierte.

Dies ist keine vollständige Lösung, aber möglicherweise hat jemand das gleiche Problem. Es lohnt sich, die Verbindung zu überprüfen.

2
Rhenan Bartels

Ich verwende mehrere mysql-Verbindungen (Verbindungen zu verschiedenen Datenbanksätzen) in localhost.

Dies ist mir passiert, nachdem ich meinen Computer heruntergefahren habe und mysql nicht richtig heruntergefahren wurde. Nachdem ich meinen Rechner gestartet hatte, konnte ich erfolgreich eine Verbindung zu mehreren DB-Verbindungen herstellen, außer einer (ich habe dies vor dem Herunterfahren meines Rechners häufig verwendet) .. Wie in den Anweisungen in diesem Beitrag angegeben, habe ich connect_timeout verdoppelt, aber ich konnte keine Verbindung dazu herstellen eine Datenbankverbindung.

Ich habe meine Maschine neu gestartet und kann mich jetzt erfolgreich verbinden. Dies hilft Ihnen dabei, sich selbst zu entsperren, aber es wäre großartig, wenn es behoben werden könnte, ohne den Computer neu zu starten. 

Ein weiteres Problem ist: connection_timeout schien mir ein verzögerungsbezogenes Problem zu sein, aber ich habe den Fehler sofort in localhost erhalten, wenn kein Netzwerk in der Gleichung vorhanden ist.

2
Rose

Ich habe dieses Problem gelöst, indem ich mysql mehrmals angehalten habe.

$ mysql.server stop
Shutting down MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxx.local.pid).
$ mysql.server stop
Shutting down MySQL
.. SUCCESS! 
$ mysql.server stop
ERROR! MySQL server PID file could not be found! (note: this is good)
$ mysql.server start

Alles gut von hier. Ich vermute, dass mysql mehr als einmal gestartet wurde.

1
Henry

Eine andere Möglichkeit ist das Zurücksetzen der Verbindung von den TCP - Wrappern (/etc/hosts.deny und /etc/hosts.allow). Prüfen Sie einfach, was vom Telnet zum Port 3306 kommt. Wenn nichts, dann ist etwas in der Mitte, was die Kommunikation verhindert.

1
Blade1024

Ich habe einen Mac, würde aber davon ausgehen, dass alle Linux für diesen Teil gleich sind ...

In meinem Fall habe ich Folgendes bekommen:

2018-12-03 11:13:27 - Start server: 
2018-12-03 11:13:27 - Server start done.
2018-12-03 11:13:27 - Checking server status...
2018-12-03 11:13:27 - Trying to connect to MySQL...
2018-12-03 11:13:27 - Lost connection to MySQL server at 'reading authorization packet', system error: 0 (2013)
2018-12-03 11:13:27 - Assuming server is not running

Ich lief das:

Sudo killall mysqld

Und dann wurde das mysql erneut über mysqlworkbench gestartet, obwohl es in Ihrem Fall so aussehen könnte:

mysql.server start

* Nebenfrage: Ich habe versucht, mysql.server stop auszuführen und habe diesen Shutting down MySQL .... SUCCESS! bekommen, aber nachdem ich ps aux | grep mysql ausgeführt habe, habe ich gesehen, dass es nicht wirklich heruntergefahren ist ...

1
elad silver

In meinem Fall passierte es, als es eine Menge Verbindungen zum MySQL-Server gab (15.000 Verbindungen) und der freie Speicher etwa 120 MB betrug. Nachdem ich dem Server mehr Speicher hinzugefügt hatte, war der Fehler verschwunden.

0
Richardhe2007