[3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
[3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Liebes Forum,
ich bin am verzweifeln. Mein Forum ist seit über einer Woche down und ich habe langsam keine Ideen mehr. Ich wollte einen SQL-Dump wieder einlesen, aber das Forum ist knapp 3GB groß. Bei meiner MariaDB (MYSQL) hakt es dann irgendwann mit folgender Fehlermeldung:
[ERROR] [FATAL] InnoDB: Semaphore wait has lasted > 600 seconds. We intentionally crash the server because it appears to be hung.
Also habe ich in den letzten gut 10 Tagen viel gegoogled, getweaked, alle möglichen Dinge ausprobiert, auch den SQL-Dump in handliche Stücke von 50 bis 100MB getrimmt und darauf geachtet, das "use forum;", sowie die Table locks / unlocks an den Start/Ende der Stücke gepackt. Nichts hilft.
Nun bin ich so weit, dass ich sehe, dass einzelne Inserts erstaunlich groß sind (1020kB): "INSERT INTO `phpbb_posts` VALUES ...". Hier scheint es auch zu haken. Das Forum hat über 1 Mio Beiträge. Werden hier komplette Threads in einem einzigen Insert reingepumpt?
Server version: 10.3.29-MariaDB-0+deb10u1 Debian 10
Ich habe natürlich weitere Logs und kann alles liefern (bin auf der Shell unterwegs und Linux-affin). Bitte, bitte, wenn Ihr eine Idee habt, helft mir.
Grüße,
Rolf
ich bin am verzweifeln. Mein Forum ist seit über einer Woche down und ich habe langsam keine Ideen mehr. Ich wollte einen SQL-Dump wieder einlesen, aber das Forum ist knapp 3GB groß. Bei meiner MariaDB (MYSQL) hakt es dann irgendwann mit folgender Fehlermeldung:
[ERROR] [FATAL] InnoDB: Semaphore wait has lasted > 600 seconds. We intentionally crash the server because it appears to be hung.
Also habe ich in den letzten gut 10 Tagen viel gegoogled, getweaked, alle möglichen Dinge ausprobiert, auch den SQL-Dump in handliche Stücke von 50 bis 100MB getrimmt und darauf geachtet, das "use forum;", sowie die Table locks / unlocks an den Start/Ende der Stücke gepackt. Nichts hilft.
Nun bin ich so weit, dass ich sehe, dass einzelne Inserts erstaunlich groß sind (1020kB): "INSERT INTO `phpbb_posts` VALUES ...". Hier scheint es auch zu haken. Das Forum hat über 1 Mio Beiträge. Werden hier komplette Threads in einem einzigen Insert reingepumpt?
Server version: 10.3.29-MariaDB-0+deb10u1 Debian 10
Ich habe natürlich weitere Logs und kann alles liefern (bin auf der Shell unterwegs und Linux-affin). Bitte, bitte, wenn Ihr eine Idee habt, helft mir.
Grüße,
Rolf
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Hi,
wie genau spielst du das Dump wieder ein?
Bei uns dauert das Rückspielen z.B. via CLI bei einer ca. 1 GB Datenbank auch ungefähr 20-30min auf dem Server.
wie genau spielst du das Dump wieder ein?
Bei uns dauert das Rückspielen z.B. via CLI bei einer ca. 1 GB Datenbank auch ungefähr 20-30min auf dem Server.
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Ich spiele es mit mysql -u dbadmin -p < dbfile.sql wieder ein.
Das ganze File dauert über 3 Stunden, bis es dann irgendwo abbricht.
In kleinen Files (50-100MB) dauert es eine Stunde oder vielleicht auch mal 30 Min.
Gerade hänge ich an einen Teilstück, bei dem es wohl klemmt. Ich habe die Fehler ignorieren lassen (-f) und auch den Parameter -n versucht. Hier ein Teil, den ich jetzt mehrfach versucht habe. Die INSERTs als ERROR 1062 sind ja wohl ok, da die schon geklappt haben, aber bei Zeile 69 kommt es wiederholt zu diesem Crash. Immer genau dort. Die einzelne Zeile (gut 1MB als einzelner Insert aus dem Dump) scheint auch einzeln nicht zu klappen. Die nächste Zeile übrigens auch nicht, sonst hätte ich den Post (geht ins phpbb_posts) einfach ausgelassen. Da diese Zeile 1 MB groß ist, fällt mir das Debuggen auch schwer.
ERROR 1062 (23000) at line 63: Duplicate entry '2820703' for key 'PRIMARY' // Das ist wohl ok, ist ja schon importiert
ERROR 1062 (23000) at line 64: Duplicate entry '2822503' for key 'PRIMARY'
ERROR 1062 (23000) at line 65: Duplicate entry '2824406' for key 'PRIMARY'
ERROR 1062 (23000) at line 66: Duplicate entry '2826210' for key 'PRIMARY'
ERROR 1062 (23000) at line 67: Duplicate entry '2828092' for key 'PRIMARY'
ERROR 1062 (23000) at line 68: Duplicate entry '2829900' for key 'PRIMARY'
ERROR 2013 (HY000) at line 69: Lost connection to MySQL server during query // Das kommt immer an der gleichen Stelle) mit dem 1MB-Insert
ERROR 2006 (HY000) at line 70: MySQL server has gone away // (ab hier macht es wohl keinen Sinn mehr, weiter zu versuchen)
ERROR 2006 (HY000) at line 71: MySQL server has gone away
ERROR 2006 (HY000) at line 72: MySQL server has gone away
ERROR 2006 (HY000) at line 73: MySQL server has gone away
ERROR 2006 (HY000) at line 74: MySQL server has gone away
ERROR 2006 (HY000) at line 75: MySQL server has gone away
Das ganze File dauert über 3 Stunden, bis es dann irgendwo abbricht.
In kleinen Files (50-100MB) dauert es eine Stunde oder vielleicht auch mal 30 Min.
Gerade hänge ich an einen Teilstück, bei dem es wohl klemmt. Ich habe die Fehler ignorieren lassen (-f) und auch den Parameter -n versucht. Hier ein Teil, den ich jetzt mehrfach versucht habe. Die INSERTs als ERROR 1062 sind ja wohl ok, da die schon geklappt haben, aber bei Zeile 69 kommt es wiederholt zu diesem Crash. Immer genau dort. Die einzelne Zeile (gut 1MB als einzelner Insert aus dem Dump) scheint auch einzeln nicht zu klappen. Die nächste Zeile übrigens auch nicht, sonst hätte ich den Post (geht ins phpbb_posts) einfach ausgelassen. Da diese Zeile 1 MB groß ist, fällt mir das Debuggen auch schwer.
ERROR 1062 (23000) at line 63: Duplicate entry '2820703' for key 'PRIMARY' // Das ist wohl ok, ist ja schon importiert
ERROR 1062 (23000) at line 64: Duplicate entry '2822503' for key 'PRIMARY'
ERROR 1062 (23000) at line 65: Duplicate entry '2824406' for key 'PRIMARY'
ERROR 1062 (23000) at line 66: Duplicate entry '2826210' for key 'PRIMARY'
ERROR 1062 (23000) at line 67: Duplicate entry '2828092' for key 'PRIMARY'
ERROR 1062 (23000) at line 68: Duplicate entry '2829900' for key 'PRIMARY'
ERROR 2013 (HY000) at line 69: Lost connection to MySQL server during query // Das kommt immer an der gleichen Stelle) mit dem 1MB-Insert
ERROR 2006 (HY000) at line 70: MySQL server has gone away // (ab hier macht es wohl keinen Sinn mehr, weiter zu versuchen)
ERROR 2006 (HY000) at line 71: MySQL server has gone away
ERROR 2006 (HY000) at line 72: MySQL server has gone away
ERROR 2006 (HY000) at line 73: MySQL server has gone away
ERROR 2006 (HY000) at line 74: MySQL server has gone away
ERROR 2006 (HY000) at line 75: MySQL server has gone away
- Joyce&Luna
- Mitglied
- Beiträge: 2478
- Registriert: 24.11.2013 18:14
- Wohnort: NRW
- Kontaktdaten:
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Ich hatte mal vor Jahren auch das Problem ein großes Backup für ein Forum hoch zu laden.
Mir hat dieses Program sehr geholfen.
Vielleicht hilft es ja.
https://mysql-front.en.softonic.com
Mir hat dieses Program sehr geholfen.
Vielleicht hilft es ja.
https://mysql-front.en.softonic.com
phpBB-Style-Design.de
Keine Antwort ist die eindeutigste Antwort, die man kriegen kann.
Bitte stellt die Fragen im Forum und nicht per PN. Danke!
Keine Antwort ist die eindeutigste Antwort, die man kriegen kann.
Bitte stellt die Fragen im Forum und nicht per PN. Danke!
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Vielen Dank, aber ich mache mir da kaum Hoffnungen. Ich arbeite direkt auf dem Server, sonst würde es überhaupt nicht funktionieren, wenn ich die Daten noch übers Internet schieben müsste.
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Ist das DB-Backup auch mit MySQL erstellt worden, oder mit PHPMyAdmin oder ähnliches?
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Ist ein klassischer mysqldump auf der Konsole.
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Mal im mysql error log schauen, warum der mysql Prozess sich verabschiedet
( mysql gone away.... könnte ansonsten auch auf einen Timeout oder max allowed packet hinweisen )
Standard MySQL Config File: (Werte ggf. erhöhen und danach den mysql Prozess neu starten)
https://dev.mysql.com/doc/refman/8.0/en/gone-away.html
https://dev.mysql.com/doc/refman/8.0/en ... it_timeout
https://dev.mysql.com/doc/refman/8.0/en ... large.html
( mysql gone away.... könnte ansonsten auch auf einen Timeout oder max allowed packet hinweisen )
Standard MySQL Config File: (Werte ggf. erhöhen und danach den mysql Prozess neu starten)
/etc/mysql/my.cnf
wait_timeout=60
max_allowed_packet=100M
https://dev.mysql.com/doc/refman/8.0/en/gone-away.html
https://dev.mysql.com/doc/refman/8.0/en ... it_timeout
https://dev.mysql.com/doc/refman/8.0/en ... large.html
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
Was eventuell auch helfen kann:
Alle unnötigen Kommentare am Anfang und am Ende des Dumps entfernen.
Jedenfalls haben diese Maßnahmen bei mir immer zum erfolgreichen Restore der Datenbank geführt.
Zum Editieren großer Dateien nutze ich unter Windows Pilot Edit (Lite).
Alle unnötigen Kommentare am Anfang und am Ende des Dumps entfernen.
use "Datenbankname"
am Anfang (Kopf) des Dumps einfügen.Jedenfalls haben diese Maßnahmen bei mir immer zum erfolgreichen Restore der Datenbank geführt.
Zum Editieren großer Dateien nutze ich unter Windows Pilot Edit (Lite).
Re: [3.3] Großes Forum, MYSQL-Dump kann nicht mehr eingespielt werden
[ERROR] [FATAL] InnoDB: Semaphore wait has lasted > 600 seconds. We intentionally crash the server because it appears to be hung.
Das zeigt mir, dass es ein bewusstes Abschiessen des mysqld ist, weil eine "Semaphore" zu lange warten musste (was auch immer das ist und warum auch immer dann die DB abgeschossen werden muss). Ich habe bewusst alles andere ausgeschaltet, keinen Apache oben, nichts. Also kann es eigentlich nichts anderes sein, was auf die DB zugreift. Auf das Forum ohnehin nicht.
Ich hänge den INNODB-Status mal an, vielleicht kann jemand da mehr rauslesen, woran es liegen könnte.
Gerade habe ich nochmal eine mit Debian mitgelieferte "Standard my.cnf" genutzt, aber auch mit diesen Standardwerten ist nichts zu machen, also habe ich die DB wohl auch nicht durch die vielen Versuche "verkonfiguriert" (könnte ja alles sein).
Grüße,
Rolf
Das zeigt mir, dass es ein bewusstes Abschiessen des mysqld ist, weil eine "Semaphore" zu lange warten musste (was auch immer das ist und warum auch immer dann die DB abgeschossen werden muss). Ich habe bewusst alles andere ausgeschaltet, keinen Apache oben, nichts. Also kann es eigentlich nichts anderes sein, was auf die DB zugreift. Auf das Forum ohnehin nicht.
Ich hänge den INNODB-Status mal an, vielleicht kann jemand da mehr rauslesen, woran es liegen könnte.
Gerade habe ich nochmal eine mit Debian mitgelieferte "Standard my.cnf" genutzt, aber auch mit diesen Standardwerten ist nichts zu machen, also habe ich die DB wohl auch nicht durch die vielen Versuche "verkonfiguriert" (könnte ja alles sein).
Grüße,
Rolf

Zuletzt geändert von rowitech am 20.08.2021 18:10, insgesamt 1-mal geändert.