# execute failed: MySQL server has gone away Fehler



## shadowcast (15. Feb. 2014)

Hallo,

auf einem meiner Server erhalte ich folgende Fehlermeldung:

```
Feb 15 18:59:27 SERVER amavis[3285]: (03285-14) NOTICE: reconnecting in response to: err=2006, HY000, DBD::mysql::st execute failed: MySQL server has gone away at (eval 111) line 170, <GEN36> line 926.
```
Es läuft Debian Wheezy mit ISPConfig 3 wie im Perfect Server Howto beschrieben. Allerdings ohne Dovecot. Postfix ist auch nur installiert, da ich diverse PHP Scripte habe, die Mails versenden.
Der Server enthält keinerlei Mail Konten. Vermutlich sind gerade diese Tatsachen Ursache für den Fehler.

Nach etwas Googlen fand ich z.b. DIES, wo offensichtlich der Verdacht angesetzt ist, dass zu wenige Mail verwaltet werden, was nachvollziehbar klingt.

In der /etc/mysql/my.cnf habe ich deshalb die max_connections zuerst auf 256, dann auf 128 herab gesetzt. Die Fehler kommen aber immer noch.

Stellt sich überhaupt schonmal die Frage, brauche ich Amavis, wenn ich keine Mails empfange? Da der Server zumindest ja sendet hätte ich gedacht ja.
Oder sollte ich einfach mal Amavis entfernen?

Freue mich auf eure Meinungen

LG


----------



## nowayback (15. Feb. 2014)

der fehler ist eigentlich kein problem, da die verbindung dann einfach neu aufgebaut wird.


----------



## shadowcast (15. Feb. 2014)

Das ist richtig, die Funktion ist dadurch nicht eingeschränkt. Dennoch sind diese Logs mehrfach täglich vorhanden und müssen ja von irgendwo her kommen, was offensichtlich nicht so klappt wie es gedacht ist?


----------



## Till (16. Feb. 2014)

Da ist alles ok und es funktioniert auch so wie gedacht, denn er informiert Dich ja nur dass die mysql verbindung nicht mehr bestand, weil z.B. einige minuten keine mails mehr angekommen sind und er sie deshalb neu aufbaut.


----------



## shadowcast (16. Feb. 2014)

Hallo,

für meine Nachwelt hier meine Lösung.
Die Meldung erhielt ich nach jedem MYSQL Start per Ossec als Email geliefert.
Wie bereits erwähnt, sind die Meldungen nicht weiter tragisch und grundsätzlich läuft auch alles.

Die genaue Meldung von Ossec:

```
Rule: 1002 fired (level 2) -> "Unknown problem somewhere in the system."
```
Auf der Suche nach der Regel:

```
grep -r "1002" /var/ossec/rules
```
kam ich auch gleich zur Regeldatei syslog_rules.xml wo ich in der Zeile 21 "BAD_WORDS" lediglich den Begriff "failed|" entfernt habe.
Ich hätte alternativ die Regel 1002 (Zeilen 31 - 35) auf Level 0 setzen können, dadurch wäre sie jedoch vollständig deaktiviert.

Anschließend Ossec neu gestartet und zum Test MySQL:

```
/var/ossec/bin/ossec-control restart
service mysql restart
```
und siehe da, ich erhalte keine Nachricht mehr über diesen Fehler.

LG


----------

