PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL Backup mit LiveCD



xeeen
04.06.2007, 16:53
Hallo,

habe mir kürzlich mein Filesystem zerschossen, habe nun die betroffene Platte mit Knoppix eingebunden und würde gerne meine Daten retten.

Dazu müsste ich nur noch wissen, wie ich meine MySQL Datenbanken kopieren kann. Gibt es bei Datenbanken einen zentralen Ort, wo diese gespeichert werden? Oder habe ich ohne ein Backup gelost?

Danke für eure Hilfe.

serverzeit.de
04.06.2007, 17:03
Welches Betriebssystem hast du denn?

Unter FreeBSD liegen sie standardmäßig in /var/db/mysql

xeeen
04.06.2007, 17:30
Es ist CentOS in der Version 4.4

serverzeit.de
04.06.2007, 17:34
Da wird die Datenbank an ähnlicher Stelle liegen.
Weißt du noch einen Datenbanknamen?


# find "/" -name "Datenbankname"

xeeen
04.06.2007, 17:36
Ah wunderbar.
Zu jeden Datenbank scheint eine .frm, eine .MYD und eine MYI Datei zu gehören. Kann ich diese einfach kopieren und dann funktioniert alles wieder??

supersucker
04.06.2007, 18:01
Ja,

bei mysql klappt das in 99% aller Fälle.

Wenn die Dateien selbst beschädigt sind natürlich nicht.

serverzeit.de
04.06.2007, 18:02
Normalerweise sollte für jede Datenbank ein eigener Ordner angelegt sein. Am besten sicherst du aber den kompletten /var/db/mysql-Ordner.

Nach der Neuinstallation kannst du dann den neuen /var/db/mysql-Ordner umbenennen in mysql_neu, dann den alten reinkopieren und sehen ob es funktioniert. Wenn ja gut wenn nein machst du es einzeln.

Zudem würde ich dir raten, deine Datenbanken in Zukunft mit einem Skript wie dem automysqlbackup zu sichern. Es werden gepackte SQL-Skripte angelegt, die sich leichter wiederherstellen lassen.

Viel Erfolg.

bitmuncher
04.06.2007, 21:35
Nein, man kann die nicht einfach so kopieren bzw. nur mit Einschränkungen. Ich bin echt verwundert, wie hier im Brustton der Überzeugung Halbwissen verbreitet wird. Bei MySQL geht es in 99,9% aller Fälle schief, wenn das Zielsystem nicht haargenau die gleiche MySQL-Version mit haargenau der gleichen Speicher-Engine nutzt. Daher: Wenn du schon gezwungen bist die DB-Dateien direkt zu übernehmen, sorge dafür, daß auf dem Zielsystem ein absolut identischer MySQL-Server läuft. Außerdem solltest du nach dem ersten Login mit den übernommenen Datenbanken über jede Tabelle zur Sicherheit ein 'repair table' laufe lassen, damit es nicht zu weiteren Komplikationen kommt.

Ansonsten kann ich mich serverzeit.de nur anschließen. Sichere in Zukunft deine Datenbanken mit mysqldump o.ä.dafür vorgesehenen Tools. DB-Server ohne Backup laufen zu lassen ist fast schon Wahnsinn, wenn diese im produktiven Bereich benötigt werden. Ansonsten wäre Replikation auf einen zweiten Server (http://www.hackerwiki.org/index.php/Datenbank-Replikation_mit_MySQL) eine gute Echtzeit-Backup-Lösung, wenn sehr viele Schreibzugriffe auf die DB stattfinden, deren Daten nicht verloren gehen sollen.