MySQL 4 mit INNODB verliert Daten beim Backup

MySQL, PostgreSQL, SQLite
pennybridge
Posts: 64
Joined: 2002-10-24 21:37

MySQL 4 mit INNODB verliert Daten beim Backup

Post by pennybridge » 2004-05-13 19:29

Hallo,

ich musste heute leider festellen, das dieser Befehl

Code: Select all

mysqldump --all-databases --opt  -uimperia -p***
mit INNODB Tabellen anscheindend seine Daten verliert.
Das ganze ist herausgekommen, als ich ein Backup wieder
eingespielt habe und danach die ganzen Imperia Seiten keine
Inhalte mehr hatten. Nach Auschluss aller anderen Faktoren
können die Daten nur beim Backup verloren gegangen sein.

Das Backup sieht sonst eigentlich ganz normal aus, ist bis
zum Ende ausgeführt und geschreiben, nur halt nicht die
gesamten Daten.

Was mich auf die Idee brachte ist die Tatsache, das in phpMyAdmin
eine Tabelle mit 200.000 - 300.000 Einträgen bei jedem Aufruf eine
andere Zahl anzeigt, mal 200.000, ne Sekunde später 258.000, was
im Grunde nicht sein kann.

Kann jemand dieses Problem bestätigen? Oder hat selbst mal
sowas erlebt? Oder kann man das irgeendwie logisch nachvollziehen?

Danke Penny

blaufalke
Posts: 7
Joined: 2004-04-12 13:59

Re: MySQL 4 mit INNODB verliert Daten beim Backup

Post by blaufalke » 2004-05-14 07:59

Schau Dir mal die Doku zu mysqldump, mysqlhotcopy und InnoDB an.

http://www.mysql.de/doc/de/mysqldump.html
http://www.mysql.de/doc/de/mysqlhotcopy.html
http://www.innodb.com/ibman.php#Backing.up

(Der InnoDB-Link gibt Dir erheblich mehr Infos zu dem Tabellentyp als MySQL selbst)

Du kannst bei InnoDB nicht erwarten, das ein normaler mysqldump bei laufendem und belastetem Server zum Erfolg führt. Dafür ist ja InnoDB eine transaktionale Maschine.

Was die Anzahl der angezeigten Zeilen bei InnoDB angeht:
"Note that the statistics SHOW gives about InnoDB tables are only approximate: they are used in SQL optimization. Table and index reserved sizes in bytes are accurate, though."

pennybridge
Posts: 64
Joined: 2002-10-24 21:37

Re: MySQL 4 mit INNODB verliert Daten beim Backup

Post by pennybridge » 2004-05-14 13:58

Blaufalke wrote:Du kannst bei InnoDB nicht erwarten, das ein normaler mysqldump bei laufendem und belastetem Server zum Erfolg führt. Dafür ist ja InnoDB eine transaktionale Maschine.
Warum nicht?
In addition to taking the binary backups described above, you should also regularly take dumps of your tables with mysqldump. The reason for this is that a binary file may be corrupted without you noticing it. Dumped tables are stored into text files which are human-readable and much simpler than database binary files. Seeing table corruption from dumped files is easier, and since their format is simpler, the chance for serious data corruption in them is smaller.
Da steht doch sogar genau das. Die Backups werden übrigens
nachts gemacht, wenn kein Redakteuer auf die Datenbank geht,
also der Developer Server still ist.

Penny[/b]