# MySQL Datenbank aus Filesystem rekonstruiren ???



## Lobster (23. Okt. 2013)

Nach einem Plattencrash   und ebenfalls zerstörtem Backup, muß ich nach der Datenrettung wahrscheinlich einige Datenbanken aus dem Filesystem rekonstruiren (Tabellen MyIsam und vielle InnoDB)...
Ich versuche gerade folgenden Weg (noch erfolglos) auf dem neuen Server:


neue leere Datenbank anlegen (ist anderer User und anderer Name)
mysql server stoppen
inhalt des alten Datenbankordners in den der neuen Datenbank reinkopieren
Rechte auf mysql setzen
mysql server starten
leider klappt es so nicht...  in phpmyadmin hat die Datenbank keine Tabellen... hat jemand einen Tipp für mich ???


----------



## Till (23. Okt. 2013)

So wie Du es beschrieben hast geht das nur bei myisam. Bei innodb werden standardmäßig alle Daten in der globalen innodb Datei gespeichert. Am besten stellst Du das komplette /var/lib/mysql Verzeichnis im ganzen auf einem neuen Server wieder her.


----------



## Lobster (23. Okt. 2013)

du hast recht, das hatte ich übersehen...
das es dann user und dbs sind die es in ispconfig nicht gibt, ist ja letztlich egal weil ich ja mit root zugreifen kann... aber was passiert mit der ispconfig datenbank auf dem neuen Server, das wird doch besimmt probleme geben wenn ich da alles drüber spiele...
gibt es einen sicheren Weg auf dem neuen Zielserver (der ja jetzt schon neu aufgebaut ist) oder sollte man das auch einem völlig autarken leeren System machen ???


----------



## Till (24. Okt. 2013)

Ist das ispconfig noch leer? dann würde ich so vorgehen:

1) mysql stoppen.
2) mv /var/lib/mysql /var/lib/mysql_bak
3) /var/lib/mysql des alten servers nach /var/lib/mysql auf dem neuen server kopieren. Ggf, mit chown alles auf user und Gruppe mysql ändern.
4) wenn es debian doer ubuntu ist, dann /etc/mysql/debian.cnf auch auf den neuen server kopieren (Bestehende Datei sichern!).
5) Mysql starten.
6) Kopier das mysql passwort des ispconfig users in /usr/local/ispconfig/server/lib/config.inc.php raus, dan logge Dich in phpmyadmin ein und setze dieses Passwort für den User "ispconfig" in mysql, damit ispconfig wieder an seine db kommt.

jetzt solltest Du alle Datenbanken wieder funktionsfähig haben und auch in ispconfig müsste alles wieder da sein.

Falls Die ispconfig versionen unterschiedlich waren, lade ispconfig neu runter, gehe in in en install Ordner und rufe das update.php script auf, es wird die db Struktur von ispconfig anglechen.

Was dann noch zur vollen Migration fehlt ist die user und gruppend er ispconfig webs von /etc/passwd, /etc/shadow, /etc/group und /etc/gshadow auf das neue system zu kopieren. aber nur die Zeilen der user und Gruppen, keinesfalls die ganzen dateien! 

Dann spielst Du noch mit rsync /var/www und /var/vmail rüber (wichtig, die Rechte und User müssen dabei erhalten bleiben) und lässt zum Schluss in ispconfig unter tools > resync einen resync drüber laufen. Und schon hast Du einen kompletten ispconfig Server aus Dateien wieder hergestellt


----------

