[gelöst] Ständig Fehlermeldung und Website unerreichbar -> PDOException: SQLSTATE[HY000] [2002]
am 29.06.2012 - 12:08 Uhr in
Hallo liebe Forenmitglieder,
ich habe seit dem Upgrade meiner Website http://www.magicofword.com von Drupal 5.x auf Drupal 7.x folgendes Problem:
Immer wieder ist die Website unerreichbar und folgende Fehlermeldung wird wiedergegeben:
PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL
server through socket '/var/run/mysqld/mysqld.sock' (2) in
lock_may_be_available() (line 167 of /is/htdocs/wp1048090_8JCEI180MP/drupal7/
includes/lock.inc).
Die Verbindung zum Datenbankserver scheint dann immer unterbrochen. Die Website ist dann nach einer Wartezeit von einigen Minuten auch ohne mein Zutun wieder erreichbar. Ich merke nun an meinen Besucherzahlen und an der BounceRate, dass dieses Problem über den Tag verteilt immer wieder aufzutreten scheint. Ich habe nun auch die Befürchtung, dass ich dür die Suchmaschinen auch nicht erreichbar sein könnte und daher meine SE Rankings leiden werden.
Ich habe zuerst daran gedacht, dass vielleicht die Zugangsdaten in der Datei Datei /drupal7/sites/default/settings.php für die Datenbank nicht stimmen. Doch diese habe ich überprüft und diese sind korrekt. Manchmal kann ich mich über PHPMyAdmin aber mit diesen Zugangsdaten auch nicht einloggen bzw. die Verbindung zur Datenbank dauert ungewöhnlich lange.
Ich habe auch schon beim meinem Hosting Anbieter angerufen. Er konnte keine Auffälligkeiten entdecken.
Werden hier vielleicht manchmal zu viele Datenbankabfragen durchgeführt, welche die Verbindung stören?
Kann mir jemand weiterhelfen?
Vielen Dank schon mal für euer Feedback!!
- Anmelden oder Registrieren um Kommentare zu schreiben
es kann gut sein
am 29.06.2012 - 12:34 Uhr
dass bei diesem Provider die Einstellungen für gleichzeitige Datenbankverbindungen zu knapp sind.
Drupal setzt mehrere Verbindungen parallel ab.
Das ist bei 7 bestimmt eher intensiver geworden.
Fehler ist bekannt und es
am 29.06.2012 - 13:29 Uhr
Fehler ist bekannt und es gibt auch ein paar Workarounds / Patches, aber nichts offizielles: http://drupal.org/node/930876
Vielen Dank für deine
am 30.06.2012 - 10:15 Uhr
Vielen Dank für deine Antwort. Ich habe dies nun meinem Provider mitgeteilt und warte auf Antwort.
Alexander Langer
am 01.07.2012 - 00:19 Uhr
Fehler ist bekannt und es gibt auch ein paar Workarounds / Patches, aber nichts offizielles: http://drupal.org/node/930876
Danke für den Link. Die Patches, welche ich dort vorfinde, scheinen für den Drupal 8.x Core zu sein. Damit kann ich wohl nichts anfangen, oder?
Antwort vom Provider
am 04.07.2012 - 15:51 Uhr
Hallo zusammen,
ich bin mit diesem Problem an meinen Provider herangetreten und bekam als Antwort, dass die Datenbank Tabelle cache_form das Problem verursacht.
Die Tabelle ist tatsächlich mehrere GB groß und macht den größten Teil meiner Datenbank aus. Sie speichert in der Column "data" im longblob-Format Daten - pro Row zwischen 3kB und 100kB. Von dieser Art gibt es dann 1.3 Mio Rows. Wie kann das sein, dass diese Tabelle so groß geworden ist? Von welchem Modul wird diese verwendet (nur vom Cache?)?
Kann man das irgendwie optimieren?
Vielen Dank für Antworten!
Im Normalfall sollte der Cron
am 04.07.2012 - 18:02 Uhr
Im Normalfall sollte der Cron diese Tabelle mit löschen - hast du den Cron schon einmal laufen lassen und dann geschaut, wie groß die Tabelle ist ?
Sonst kannst du die Tabelle auch direkt in der Datenbanken leeren (nicht löschen) - dann sollte der Fehler erstmal wieder behoben sein..
Falls das Problem nach Ausführung des Cron immer noch auftritt, wird in diesem Issue: http://drupal.org/node/230374 ein Patch / Vorgehen erklärt..
SteffenR
Hallo Steffen, vielen Dank
am 12.07.2012 - 16:01 Uhr
Hallo Steffen,
vielen Dank für deine Antwort. Ich habe den Cron laufen lassen. Leider hat das nichts bewirkt. Die Tabellen cache_form und cache_menu füllen sich einfach zu schnell mit Daten.
Kann ich diese beiden Tabellen denn so einfach ohne Nebenwirkungen leeren (nicht löschen)? Ich kann nämlich bei der aktuellen Größe (>10 GB) kein DB Backup über meinen Hosting Provider mehr machen.
Ich habe auch deinen Link besucht und mir die Patches angeschaut. Es hat den Anschein, als wäre der Patch für Drupal 6.x geschrieben. Kann ich den auch so ohne weiteres für meine Drupal 7.x Installation anwenden?
Noch eine weitere Frage: wie baue ich den Patch denn korrekt ein? Ich habe da leider noch keine Erfahrung.
Weiterhin sorgt der Patch nach meinem Verständnis lediglich dafür, dass die Daten nach einer kürzeren Zeit aus dem Cache wieder gelöscht werden.
Kann man aber die Datenbankstruktur soweit optimieren, dass sich auch gar nicht mehr so schnell so viele Daten ansammeln?
Mein Provider hat mir nämlich folgendes geschrieben:
"Es hilft leider nicht, lediglich die Datenbankabfragen zu optimieren. Hier muss eine Optimierung der gesamten Datenbankstruktur her, um dauerhaft Abhilfe zu schaffen. Durch die aktuelle Struktur werden die einzelnen Tabellen zu groß und voll."
Vielen Dank für Antworten.