"MySQL Server has gone away"

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

"MySQL Server has gone away"

Beitrag von bullgard » 31.05.2016 05:04:30

Hallo debianforum.de,
[Debian 8.4] Ich habe eine MySQL-Datenbank länger als 6 Jahre. Seit ich sie mit dem Frontend LibreOffice Base betreibe, erhalte ich gelegentlich die Fehlermeldung
Fehler beim Einfügen des neuen Datensatzes
MySQL server has gone away
Die Sttatuzeile des Datenbankfensters zeigt die Einraäge
MySQL (nativ) <NameMeinerDatenbank> root localhost
Im MySQL error log /var/log/mysql/error.log (und seinen Vorgängern) kann ich keine diesbezügliche Fehlermeldung entdecken. Meistens sind sie leer. Als ich noch phpMyAdmin als Frontend für die gleiche Datenbank verwendete, trat diese Fehlermeldung nicht auf.
Ich vermute, daß der Wert der MySQL-Variablen wait_timeout manchmal überschritten wird. Ich kann aber in /etc/mysql/my.cnf keinen String wait_timeout finden.
Wie kann ich den Fehler am einfachsten korrigieren, wenn er auftritt, um weiterarbeiten zu können? Die Datenbank schließen und neu starten ist mir zu umständlich.
Mit freundlichen Grüßen
bullgard

Benutzeravatar
whisper
Beiträge: 3192
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: "MySQL Server has gone away"

Beitrag von whisper » 31.05.2016 06:33:16

"Beim einfügen eines Datensatzes"
Heißt villeicht muss die DB mal optimiert werden.
Hast du schon mal die üblichen Admin Befehle dazu benutzt?
Also Optimize Table usw.
Hast du bei der Abfrage keine Probleme?
Wie ist die Grund Configuration?
Was sagt z.B. Debianmysqltuner ?

bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

Re: "MySQL Server has gone away"

Beitrag von bullgard » 31.05.2016 08:00:33

Hallo whisper,
"Beim einfügen eines Datensatzes"
Heißt villeicht muss die DB mal optimiert werden.
Hast du schon mal die üblichen Admin Befehle dazu benutzt?[/quote]

Code: Alles auswählen

# mysqlcheck tb1
gibt aus:
mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
Was läuft da schief?
whisper hat geschrieben:Also Optimize Table usw.
Hast du bei der Abfrage keine Probleme?
Wie ist die Grund Configuration?
whisper hat geschrieben:Was sagt z.B. Debianmysqltuner ?
Das sagt gar nichts, weil ich das Paket nicht installiert habe. Aus der Paketbeschreibung: "Based on the statistics gathered, specific recommendations will be provided that will increase a MySQL server's efficiency and performance." Ich will nicht "increase a MySQL server's efficiency and performance." Was ich will, habe ich in meiner Frage klar zum Ausdruck gebracht.
Zuletzt geändert von bullgard am 31.05.2016 08:11:06, insgesamt 2-mal geändert.

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: "MySQL Server has gone away"

Beitrag von uname » 31.05.2016 08:05:24

Der MySQL-Benutzer "root@localhost" (nicht dein normaler root) benötigt wohl ein Passwort.

Versuche es so:

Code: Alles auswählen

mysqlcheck tb1 -u root -p
Solltest du dein Passwort nicht mehr wissen (vergesse ich auch regelmäßig) so wird es wohl irgendwo in den Client-Konfigurationen stehen. Kann zudem sein, dass der Benutzer abweicht. Das denke ich aber mal eher nicht.

Ach ja. Eine Sicherheitskopie der MySQL-Datenbank solltest du vorher anlegen. Dein Backup-Tool wird im übrigen auch dein root@localhost-Passwort kennen (müssen) es sein denn du sicherst einfach /var/lib/mysql anstatt die Datenbank zu dumpen. Du machst Sicherungen? Du hast schon mal eine Sicherung zurückgespielt? Das solltest du üben wenn die Daten wichtig sind.

bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

Re: "MySQL Server has gone away"

Beitrag von bullgard » 31.05.2016 08:22:40

uname hat geschrieben:Der MySQL-Benutzer "root@localhost" (nicht dein normaler root) benötigt wohl ein Passwort.

Versuche es so:

Code: Alles auswählen

mysqlcheck tb1 -u root -p
Solltest du dein Passwort nicht mehr wissen (vergesse ich auch regelmäßig) so wird es wohl irgendwo in den Client-Konfigurationen stehen. Kann zudem sein, dass der Benutzer abweicht. Das denke ich aber mal eher nicht.

Ach ja. Eine Sicherheitskopie der MySQL-Datenbank solltest du vorher anlegen. Dein Backup-Tool wird im übrigen auch dein root@localhost-Passwort kennen (müssen) es sein denn du sicherst einfach /var/lib/mysql anstatt die Datenbank zu dumpen. Du machst Sicherungen? Du hast schon mal eine Sicherung zurückgespielt? Das solltest du üben wenn die Daten wichtig sind.
Das Paßwort weiß ich noch.

Code: Alles auswählen

# mysqlcheck tb1 -u root -p
gibt aus:
Enter password:
mysqlcheck: Got error: 1049: Unknown database 'tb1' when selecting the database
Kunststück! tb1 ist ja nicht der Name meiner Datenbank, sondern der Name meiner Tabelle.

Code: Alles auswählen

# mysqlcheck <NameMeinerDatenbank> -u root -p
gibt aus:
Enter password:
<NameMeinerDatenbank>.tb1
warning : Found row where the auto_increment column has the value 0
status : OK
Ich mache Backups. Ich habe auch schon in der Vergangenheit ein Backup wiederhergestellt.
Das alles ist aber nicht die Antwort auf die Frage, die ich eingangs gestellt hatte: "Wie kann ich den Fehler am einfachsten korrigieren, wenn er auftritt, um weiterarbeiten zu können?"
Zuletzt geändert von bullgard am 31.05.2016 08:34:44, insgesamt 2-mal geändert.

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: "MySQL Server has gone away"

Beitrag von uname » 31.05.2016 08:27:33

Leider kenne ich mich mit "mysqlcheck" nicht aus. War das nun der normale Durchlauf? Ist dein Problem behoben? Als Alternative könntest du ja mal die Datenbank dumpen und neu einlesen. Vielleicht kann so das Problem behoben werden.

Benutzeravatar
sys_op
Beiträge: 672
Registriert: 17.09.2007 19:10:47
Lizenz eigener Beiträge: GNU General Public License

Re: "MySQL Server has gone away"

Beitrag von sys_op » 31.05.2016 11:23:37

Mein Verdacht ist eher die Datenbankverbindung über Libreoffice und dass der Fehler aus Libreoffice stammt.
Wie verbindest du denn dein Base? Über ODBC oder JDBC?

Für Mysql-JDBC existiert ein eigener connector (mysql-connector-java-5.1.xx-bin.jar, ich nutze seit langem den 5.1.22 ohne Probleme mit Mysql und MariaDB)

Download: https://downloads.mysql.com/archives/c-j/

Die Einbindung war etwas Fummelei, wenn du Bedarf hast, suche ich mal.
gruss sys;-)

bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

Re: "MySQL Server has gone away"

Beitrag von bullgard » 31.05.2016 13:12:55

Hallo sys_op,
[quote="sys_op]Mein Verdacht ist eher die Datenbankverbindung über Libreoffice und dass der Fehler aus Libreoffice stammt. Wie verbindest du denn dein Base? Über ODBC oder JDBC?[/quote] Wie ich oben schrieb, die Sttatuzeile des Datenbankfensters zeigt die Einräge
MySQL (nativ) <NameMeinerDatenbank> root localhost
Daraus folgt "nativ", d. h. nicht über ODBC oder JDBC, sondern in einer Art "direkt".
[quote="sys_op]Für Mysql-JDBC existiert ein eigener connector (mysql-connector-java-5.1.xx-bin.jar, ich nutze seit langem den 5.1.22 ohne Probleme mit Mysql und MariaDB)

Download: https://downloads.mysql.com/archives/c-j/

Die Einbindung war etwas Fummelei, wenn du Bedarf hast, suche ich mal.[/quote]

Antworten