Alternative zu mysqldump um defekte DB zu retten?
Ich kann bei einer DB keinen Dump machen: jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=32M' Der Hoster hat schon von 16MB auf 32MB erhöht. Ich vermute die DB wurde bei einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein. Wie könnte ich einen Textexport machen, mit dem man die DB dann wieder erzeugen kann? Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=3D32M'
Der Hoster hat schon von 16MB auf 32MB erh=F6ht. Ich vermute die DB wurde b= ei=20 einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein.
Wie k=F6nnte ich einen Textexport machen, mit dem man die DB dann wieder=20 erzeugen kann?
Hallo Al, betrifft das alle DBs? Falls ja, würde ich vermuten, dass das mysqldump nicht dieselbe Version wie der mysqld ist Textexport: php oder cgi Skript basteln, das die Daten passend ausgibt Wolfgang Hamann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 12. November 2009 06:26:06 schrieb hamann.w@t-online.de:
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=3D32M'
Der Hoster hat schon von 16MB auf 32MB erh=F6ht. Ich vermute die DB wurde b= ei=20 einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein.
Wie k=F6nnte ich einen Textexport machen, mit dem man die DB dann wieder=20 erzeugen kann?
Hallo Al,
betrifft das alle DBs? Falls ja, würde ich vermuten, dass das mysqldump nicht dieselbe Version wie der mysqld ist
Es betrifft alle Dateien und mehrere unterschiedliche User am selben Host. Zm Glück, habe ich es für meine Dateien rechtzeitig gemerkt. mysql --version mysql Ver 14.12 Distrib 5.0.81, for pc-linux-gnu (i686) using readline 5.1 mysqldump --version mysqldump: unknown variable 'quickmax_allowed_packet=32M' Es läuft unter CentOS und ein rpm -q kennt das Paket nicht. /etc/my.cnf [mysqldump] quick max_allowed_packet = 16M Da steht das in 1 Zeile in meinem lokalen Server
Textexport: php oder cgi Skript basteln, das die Daten passend ausgibt
Gibt es da was fertiges für den Textexport? Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, November 12, 2009 11:43 am, Al Bogner wrote:
Am Donnerstag, 12. November 2009 06:26:06 schrieb hamann.w@t-online.de:
Textexport: php oder cgi Skript basteln, das die Daten passend ausgibt
Gibt es da was fertiges für den Textexport?
phpmyadmin regards, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner schrieb:
Am Donnerstag, 12. November 2009 06:26:06 schrieb hamann.w@t-online.de:
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=3D32M'
Der Hoster hat schon von 16MB auf 32MB erh=F6ht. Ich vermute die DB wurde b= ei=20 einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein.
[...]
/etc/my.cnf [mysqldump] quick max_allowed_packet = 16M
Da steht das in 1 Zeile in meinem lokalen Server
Textexport: php oder cgi Skript basteln, das die Daten passend ausgibt
Gibt es da was fertiges für den Textexport?
Al
Hi Al, ist das die my.cnf von dem betroffenen Server? Es sieht nach einer kaputten my.cnf aus. Tippfehler oder fehlender Zeilenumbruch. Was passiert wenn Du das "quick" löscht? Oder Du kannst versuchen ob die Angabe von Parametern hilft: mysqldump --no-defaults --opt --max_allowed_packet=32M ... siehe man mysqldump oder mysqldump --help (Da steht auch wo my.cnf gesucht wird) Gibt es evtl eine ~/.my.cnf Oder Du versuchst die my.cnf "umzubiegen": export MYSQL_HOME=/tmp/mysql In /tmp/mysql legst Du eine eigene my.cnf an http://dev.mysql.com/doc/refman/5.1/de/option-files.html Alles nicht selbst ausprobiert, würde ich aber wenn ich das Problem hätte :) HTH bernd -- Gruss Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner schrieb:
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=32M'
Der Hoster hat schon von 16MB auf 32MB erhöht. Ich vermute die DB wurde bei einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein.
Wie könnte ich einen Textexport machen, mit dem man die DB dann wieder erzeugen kann?
Ähmm.... Wenn die DB schon kaputt ist, hilft auch kein Dump mehr. Ein regelmäßiger Datenbank-Dump ist eher Teil einer Backup-Strategie und kein Desaster-Recovery. mysqldump REPARIERT keine Tabellen, es erzeugt lediglich ein SQL-Script, dass alles Nötige enthält, um die Datenbank wieder im derzeitigen Zustand herzustellen. Also "CREATE TABLE" und "INSERT INTO"... Wenn die Tabellen schon futsch oder defekt sind, dann kann mysqldump auch keine Daten wiederherstellen. Gruß Uli -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 12. November 2009 12:36:12 schrieb Ulrich Gehauf:
Al Bogner schrieb:
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=32M'
Der Hoster hat schon von 16MB auf 32MB erhöht. Ich vermute die DB wurde bei einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein.
Wie könnte ich einen Textexport machen, mit dem man die DB dann wieder erzeugen kann?
Ähmm.... Wenn die DB schon kaputt ist, hilft auch kein Dump mehr.
Das hat der Hoster behauptet und ich habe es bezweifelt. Mittlerweile hat der Dump ja mit der Option --no-defaults funktioniert.
Ein regelmäßiger Datenbank-Dump ist eher Teil einer Backup-Strategie und kein Desaster-Recovery.
Klar, nur hast du eine Idee, wie man prüft, ob der Dump ok ist? Da stand die letzten Monate immer nur die Fehler-Meldung drin. Es wäre auch schon eine Plausibilitätsprüfung eine Verbesserung, zB wie groß die Datei mindestens sein muss.
mysqldump REPARIERT keine Tabellen, es erzeugt lediglich ein SQL-Script, dass alles Nötige enthält, um die Datenbank wieder im derzeitigen Zustand herzustellen. Also "CREATE TABLE" und "INSERT INTO"... Wenn die Tabellen schon futsch oder defekt sind, dann kann mysqldump auch keine Daten wiederherstellen.
Klar. Nur wenn der Hoster eine kaputte my.cnf hat dann muss man das aus der Ferne erst einmal ohne Root-Rechte erkennen. phpMyAdmin reagierte ja problemlos. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Am Donnerstag, 12. November 2009 12:36:12 schrieb Ulrich Gehauf:
regelmäßiger Datenbank-Dump ist eher Teil einer Backup-Strategie und kein Desaster-Recovery.
Klar, nur hast du eine Idee, wie man prüft, ob der Dump ok ist?
Du könntest zumindest sehr leicht prüfen, ob mysqldump der Meinung ist, dass seine Operation erfolgreich war. mysqldump ... || echo "Irgendwas hat nicht geklappt" HTH Micha -- Michael Meyer OpenPGP Key: 76E050B9 http://www.intevation.de Intevation GmbH, Neuer Graben 17, 49074 Osnabrück; AG Osnabrück, HR B 18998 Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 12. November 2009 15:35:52 schrieb Michael Meyer:
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Am Donnerstag, 12. November 2009 12:36:12 schrieb Ulrich Gehauf:
regelmäßiger Datenbank-Dump ist eher Teil einer Backup-Strategie und kein Desaster-Recovery.
Klar, nur hast du eine Idee, wie man prüft, ob der Dump ok ist?
Du könntest zumindest sehr leicht prüfen, ob mysqldump der Meinung ist, dass seine Operation erfolgreich war.
mysqldump ... || echo "Irgendwas hat nicht geklappt"
Wie? Bis jetzt war es so, dass keinerlei Fehlermeldung beim cpanel-Backup kam und nur in der Dump-Datei dann die Fehlermeldung stand und die könnte das nächste mal was anderes sein. Cpanel wird es am neuen Host nicht geben, da nun VPS und nicht mehr Shared- Hosting. Ich habe natürlich keine Ahnung was da vielleicht irgendwann passieren könnte. Es beruhigt mich nicht ein Backup zu haben. Ich möchte irgendwie automatisiert prüfen, dass es im Fall der Fälle auch brauchbar ist. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Am Donnerstag, 12. November 2009 15:35:52 schrieb Michael Meyer:
Du könntest zumindest sehr leicht prüfen, ob mysqldump der Meinung ist, dass seine Operation erfolgreich war.
mysqldump ... || echo "Irgendwas hat nicht geklappt"
Wie?
Steht doch da. ;) mysqldump ... || echo "Irgendwas hat nicht geklappt" mysqldump beendet sich mit einem exit code >0 wenn irgendwas nicht geklappt hat. HTH Micha -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 12. November 2009 16:26:45 schrieb Michael Meyer:
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Am Donnerstag, 12. November 2009 15:35:52 schrieb Michael Meyer:
Du könntest zumindest sehr leicht prüfen, ob mysqldump der Meinung ist, dass seine Operation erfolgreich war.
mysqldump ... || echo "Irgendwas hat nicht geklappt"
Wie?
Steht doch da. ;)
mysqldump ... || echo "Irgendwas hat nicht geklappt"
mysqldump beendet sich mit einem exit code >0 wenn irgendwas nicht geklappt hat.
Ich habe es jetzt verstanden. Meine Gedanken gingen aber in eine andere Richtung, indem ich die Dump-Datei am _lokalen_ Rechner analysiere. Deinen Vorschlag werde ich erweitern, dass ein Mail versandt wird. Das ist natürlich viel besser als gar nichts. Danke! Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner schrieb:
Am Donnerstag, 12. November 2009 16:26:45 schrieb Michael Meyer:
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Am Donnerstag, 12. November 2009 15:35:52 schrieb Michael Meyer:
Du könntest zumindest sehr leicht prüfen, ob mysqldump der Meinung ist, dass seine Operation erfolgreich war.
mysqldump ... || echo "Irgendwas hat nicht geklappt" Wie? Steht doch da. ;)
mysqldump ... || echo "Irgendwas hat nicht geklappt"
mysqldump beendet sich mit einem exit code >0 wenn irgendwas nicht geklappt hat.
Ich habe es jetzt verstanden. Meine Gedanken gingen aber in eine andere Richtung, indem ich die Dump-Datei am _lokalen_ Rechner analysiere. Deinen Vorschlag werde ich erweitern, dass ein Mail versandt wird. Das ist natürlich viel besser als gar nichts. Danke!
Al
Hi, ich mache es (mit postgres, aber das ist ja egal) so, dass ich den Dump automatisch beim Server abhole und hier lokal wieder einlese: 1. prüfe ich so, ob zumindest das Verfahren geht (man hofft, dass dann die Daten auch ok sind) und 2. habe ich gleich eine Testversion. Wenn ich was testen will, schmeiße ich den Indianer und postgres an, sonst sind sie abgeschaltet, alles natürlich nur für localhost. Sollte kein Problem sein, das für mysql zu installieren und den Cron damit zu beauftragen. cu jth -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 13. November 2009 07:32:37 schrieb Joerg Thuemmler:
Al Bogner schrieb:
Am Donnerstag, 12. November 2009 16:26:45 schrieb Michael Meyer:
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Am Donnerstag, 12. November 2009 15:35:52 schrieb Michael Meyer:
Du könntest zumindest sehr leicht prüfen, ob mysqldump der Meinung ist, dass seine Operation erfolgreich war.
mysqldump ... || echo "Irgendwas hat nicht geklappt"
Wie?
Steht doch da. ;)
mysqldump ... || echo "Irgendwas hat nicht geklappt"
mysqldump beendet sich mit einem exit code >0 wenn irgendwas nicht geklappt hat.
Ich habe es jetzt verstanden. Meine Gedanken gingen aber in eine andere Richtung, indem ich die Dump-Datei am _lokalen_ Rechner analysiere. Deinen Vorschlag werde ich erweitern, dass ein Mail versandt wird. Das ist natürlich viel besser als gar nichts. Danke!
ich mache es (mit postgres, aber das ist ja egal) so, dass ich den Dump automatisch beim Server abhole und hier lokal wieder einlese: 1. prüfe ich so, ob zumindest das Verfahren geht (man hofft, dass dann die Daten auch ok sind) und 2. habe ich gleich eine Testversion. Wenn ich was testen will, schmeiße ich den Indianer und postgres an, sonst sind sie abgeschaltet, alles natürlich nur für localhost. Sollte kein Problem sein, das für mysql zu installieren und den Cron damit zu beauftragen.
Danke, gute Idee! Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=32M'
Der Hoster hat schon von 16MB auf 32MB erhöht.
,---[ /etc/my.cnf ] | [mysqldump] | quick | max_allowed_packet = 16M `---| Bei dir ist wohl irgendwie ein Zeilenumbruch abhanden gekommen.
Ich vermute die DB wurde bei einem cpanel-Update defekt. Lt. Hoster soll die ibdata defekt sein.
Warum denkst du dass die DB korrupt ist? Weil mysqldump nicht funktioniert?
Wie könnte ich einen Textexport machen, mit dem man die DB dann wieder erzeugen kann?
/etc/my.cnf fixen oder: mysqldump --no-defaults -u user -p1234 --opt cms > mysqldump.sql HTH Micha -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, 12. November 2009 12:42:37 schrieb Michael Meyer:
*** Al Bogner <suse-linux@ml082.pinguin.uni.cc> wrote:
Ich kann bei einer DB keinen Dump machen:
jailshell-3.2$ mysqldump -u user -p1234 --opt cms > mysqldump.sql mysqldump: unknown variable 'quickmax_allowed_packet=32M'
Der Hoster hat schon von 16MB auf 32MB erhöht.
/etc/my.cnf fixen oder:
mysqldump --no-defaults -u user -p1234 --opt cms > mysqldump.sql
Vielen Dank, das war es! Schick dem Hoster dein Beratungshonorar ;-) Es ist nicht mein Account und daher habe ich mich nicht intensiv darum gekümmert. Speziell weil er grundsätzlich was anderes antwortete als das gefragt wurde und immer nur meinte die Seite sei gehackt. Nun stellt sich raus, das alles Quatsch ist, so wie ich vermutet hatte. Die DB ist nicht korrput und der Dump lief durch. Ich hoffe, ich kann den bei einem anderen Hoster nun importieren. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (7)
-
Al Bogner
-
Bernd Obermayr
-
Christian Brabandt
-
hamann.w@t-online.de
-
Joerg Thuemmler
-
Michael Meyer
-
Ulrich Gehauf