PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hoher Prozentsatz fehlgeschlagener MySQL Verbindungen



jpwfour
22.02.2013, 18:20
Mich hatte letztens wer gefragt, was in PHPMyAdmin im Status-Tab "Fehlgeschlagen" unter "Verbindungen" bedeutet, da bei ihm dort ca. 30% aller Verbindungen fehlgeschlagen angezeigt wurden.

Die Statusvariable heißt: Aborted_connects (http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html)

Der Schuldige bzw. die Datei war schnell gefunden:
topframe_forced.php


<?
@require_once ('lib/functions.lib.php');
@require_once ('lib/session.lib.php');
//... uvm...
@db_connect();Das db_connect() muss aber unbedingt direkt nach der functions.lib und noch vor der session.lib, da in der session.lib schon Datenbankanfragen gestellt werden!, also:


<?
@require_once ('lib/functions.lib.php');
@db_connect();
@require_once ('lib/session.lib.php');
//... uvm...
Und schon zeigt nach einem MySQL Server Neustart (Alternativ: FLUSH STATUS;) dauerhaft nur 0 fehlgeschlagene Verbindungen an :wink:

Fix für VMS 1.2.4 PL1:
in der Datei topframe_forced.php die Zeile 21 (@db_connect();) zwischen Zeile 2 und 3 verschieben.

Negative Auswirkungen dadurch gab es in diesem konkreten Fall nicht, es kann aber passieren, je nach MySQL Konfiguration, das es dadurch zu "Sperren" kommt. Da die session.lib.php ausgeführt wird, ohne eine aktive Datenbankverbindung, wird versucht, eine mit den Standardwerten aufzubauen. Also meist sowas wie Benutzer 'www-data', kein Passwort. Das schlägt fehl, und könnte als "Angriffsversuch" gewertet werden.