Vor kurzem habe ich jedes Mal eine Fehlermeldung erhalten, wenn ich versuche, einen Inhalt hinzuzufügen, unabhängig von der Art. Dies ist der Fehler, der im Browser angezeigt wird:
Zusätzliche nicht erfasste Ausnahme, die während der Behandlung der Ausnahme ausgelöst wird.
Ursprüngliche PDOException: SQLSTATE [HY000]: Allgemeiner Fehler: 2006 MySQL-Server ist verschwunden: SELECT COUNT (cid) FROM {comment} WHERE status =: status; Array ([: status] => 0) in comment_count_unpublished () (Zeile 313 von /Applications/MAMP/htdocs/modules/comment/comment.module).
Zusätzlich
PDOException: SQLSTATE [HY000]: Allgemeiner Fehler: 2006 MySQL-Server wurde entfernt: INSERT INTO {Watchdog} (UID, Typ, Nachricht, Variablen, Schweregrad, Link, Speicherort, Referer, Hostname, Zeitstempel) VALUES (: db_insert_placeholder_0,: db_insert_placeholder_1 ,: db_insert_placeholder_2,: db_insert_placeholder_3,: db_insert_placeholder_4,: db_insert_placeholder_5,: db_insert_placeholder_6,: db_insert_placeholder_7,: db_insert_placeholder_8,: db_ins Array ([: db_insert_placeholder_0] => 1 [: db_insert_placeholder_1] => php [: db_insert_placeholder_2] =>% type:! Message in% function (Zeile% Zeile von% file). [: Db_insert_placeholder_3] => a: 6: { s: 5: "% type"; s: 12: "PDOException"; s: 8: "! message"; s: 154: "SQLSTATE [HY000]: Allgemeiner Fehler: 2006 MySQL-Server ist verschwunden: SELECT COUNT (cid) FROM {comment} WHERE status =: status; Array ([: status] = & gt; 0) "; s: 9:"% function "; s: 27:" comment_count_unpublished () "; s: 5:"% file "; s: 56:" / Applications / MAMP /htdocs/modules/comment/comment.module";s:5:"%line";i:313;s:14:"severity_level";i:3;} [: db_insert_placeholder_4] => 3 [: db_insert_placeholder_5] = > [: db_insert_placeholder_6] =>http: // localhost: 8888 /? q = Knoten% 2Fadd% 2Farcade-project & amp ; [: db_insert_placeholder_7] => http: // localhost: 8888 / [: db_insert_placeholder_8] => 127.0.0.1 [: db_insert_placeholder_9] => 1338336955) in dblog_watchdog () (Zeile 154 von / Applications / MAMP / htdocs / modules / dblog.module).
Ich erhalte auch den folgenden Fehler in meiner PHP-Fehlerdatei:
Schwerwiegender PHP-Fehler: Ungefangene Ausnahme 'PDOException' mit der Meldung 'SQLSTATE [HY000]: Allgemeiner Fehler: 2006 MySQL-Server ist nicht mehr verfügbar' in /Applications/MAMP/htdocs/includes/database/database.inc:2136
Stack-Trace:
0 /Applications/MAMP/htdocs/includes/database/database.inc(2136): PDOStatement-> execute (Array)
1 /Applications/MAMP/htdocs/includes/database/database.inc(664): DatabaseStatementBase- >
execute (Array, Array) 2 /Applications/MAMP/htdocs/includes/database/database.inc(2315): DatabaseConnection-> query ('SELECT expire, ...', Array, Array)
3 / Applications / MAMP / htdocs / includes / lock.inc (167): db_query ('SELECT expire, ...', Array)
4 /Applications/MAMP/htdocs/includes/lock.inc(146): lock_may_be_available ('theme_registry: ...' )
5 /Applications/MAMP/htdocs/includes/theme.inc(447): lock_acquire ('theme_registry: ...')
6 /Applications/MAMP/htdocs/includes/bootstrap.inc(427): ThemeRegistry-> set ( Array)
7 [interne Funktion]: DrupalCacheArray -> __ destruct ()
8 {main} in /Applications/MAMP/htdocs/includes/database/database.inc in Zeile 2136
Ich habe ein kleines Problem beim Entschlüsseln dieser Fehlermeldungen. Könnte mir jemand helfen zu verstehen, was hier los ist?
Dieser MySQL / MariaDB-Fehler:
bedeutet im Grunde, dass der Client keine Frage an den Server senden konnte .
Dies kann entweder durch eine vorübergehende Störung, eine zu große oder ungültige SQL-Abfrage, eine Fehlkonfiguration Ihres Servers oder eine Einschränkung Ihres Hosting-Providers geschehen.
Im Allgemeinen kann dieser Fehler folgende Ursachen haben:
eine Abfrage an den Server ist falsch oder zu groß,
Lösung: Erhöhen Sie die
max_allowed_packet
Variable .Hinweis: Stellen Sie sicher, dass sich die Variable unter
[mysqld]
Abschnitt befindet, nicht[mysql]
.Hinweis: Vergessen Sie nicht, den MySQL / MariaDB-Server neu zu starten.
Bei der TCP / IP-Verbindung auf der Clientseite ist eine Zeitüberschreitung aufgetreten.
Lösung: Erhöhen Sie die
wait_timeout
Variable .Sie haben versucht, eine Abfrage auszuführen, nachdem die Verbindung zum Server geschlossen wurde.
Lösung: Ein logischer Fehler in der Anwendung sollte behoben werden.
Hostnamensuche fehlgeschlagen (z. B. DNS-Serverproblem) oder Server wurde mit
--skip-networking
Option gestartet .Eine andere Möglichkeit ist, dass Ihre Firewall den MySQL-Port blockiert (z. B. standardmäßig 3306).
Der laufende Thread wurde abgebrochen. Versuchen Sie es erneut.
Sie haben einen Fehler festgestellt, bei dem der Server während der Ausführung der Abfrage starb.
Ein Client, der auf einem anderen Host ausgeführt wird, verfügt nicht über die erforderlichen Berechtigungen zum Herstellen einer Verbindung.
Weitere Informationen finden Sie unter : B.5.2.9 Der MySQL-Server ist nicht mehr verfügbar .
Weitere Informationen finden Sie in Ihren MySQL- oder Systemprotokollen (z
/var/log/messages
. B. ).Informationen zum Debuggen von MySQL-Servern oder -Clients finden Sie unter: 26.5 Debuggen und Portieren von MySQL .
Wenn Sie versuchen, die Datenbank mit
drush
oder aus der Datei zu importierenmysql
, haben Sie folgende Möglichkeiten:Fügen Sie eine force-Option (
-f
) hinzu, ummysql
fortzufahren und die restlichen Abfragen auszuführen.Dies ist nützlich, wenn die Datenbank einige umfangreiche Abfragen im Zusammenhang mit dem Cache enthält, die zwar umfangreich, aber nicht relevant sind.
Mit
drush
, versuchen Sie :cat foo.sql | $(drush sqlconnect) -f
Versuchen Sie, die
--max-allowed-packet
Option fürmysql
mit kleineren Werten anzuwenden .Erhöhen Sie
max_allowed_packet
undwait_timeout
in Ihrer Serverkonfiguration (zB~/.my.cnf
).Sichern Sie die ursprüngliche Datenbank erneut, indem Sie die
--skip-extended-insert
Option verwenden, um die umfangreichen Abfragen aufzuschlüsseln. Importieren Sie dann die Datei erneut.Siehe auch: FEHLER 2006 (HY000): MySQL-Server ist verschwunden
quelle
Die Antwort, die @Clive normalerweise gibt, ist der Fall, aber es kann eine zusätzliche Ursache geben, insbesondere bei Formularen zum Hinzufügen von Knoten.
Formulare zum Hinzufügen von Knoten sind in der Regel groß, und ihre Verarbeitung kann viel Speicher beanspruchen (insbesondere, wenn während des Speichervorgangs eine Bildverarbeitung stattfindet, wie bei den Zuschneidemodulen). Wenn auf dem Server nicht mehr genügend Arbeitsspeicher vorhanden ist, wird der mysqld-Prozess möglicherweise abgebrochen, was zur gleichen Meldung "Abwesend" führt.
Der Hinweis ist, in den Server-Protokollen zu suchen. Auf einem CentOS-Computer wird möglicherweise der folgende Eintrag in / var / log / messages angezeigt
Die Lösung besteht darin, entweder mehr RAM hinzuzufügen oder Swap hinzuzufügen / zu erhöhen.
quelle