Nach Restore keine DB in mysql

Mardor

Well-Known Member
Hallo,

ich habe mein Backup mit dump erstellt und über Restore wieder eingespielt.
Als Grundlage für das Erstellen und Rücksichern habe ich folgende URL genutzt: http://wiki.unixboard.de/index.php/FreeBSD_-_Backup

Sowohl die Datensicherung als auch das Rücksichern haben ohne Probleme einwandfrei ausgesehen.

Leider ist nach dem Rücksichern keine Datenbank mehr in mysql. :mad:
Noch nicht mal ein Passwort befindet sich auf Mysql (wurde von mir 100% gesetzt) :grumble:

Ist das normal ?
Woran könnte dies liegen ?
Gibt es eine Möglichkeit diese Daten wieder zu erhalten ?

Gruß Mardor
 
ich musst ja schon haeufiger Datenbanken in Mysql zurueckspielen... aber den befehl restore kenn ich nicht.

normalerweise macht man das mit :

Code:
mysql < backup.sql

hat bisher eigentlich immer hingehauen da mysql_dump die Datenbanken als sql insert befehle speichert und nicht wirklich binaer.... vieleicht habe ich dich aber auch nur falsch verstanden und du machst mit dd eine Dump des Verzeichnisses oder der Festplatte.... wie das da funktioniert hab ich aber keine ahnung.

Ein problem das du gehabt haben koenntest:
du hast den mysql server vor dem Backup nicht runtergefahren... wenn du einfach einen dump machst waerend der Server laeuft gehen dir die Transaktionen verloren und das kann das beschriebene Phenomen hervorrufen.
 
Zuletzt bearbeitet:
Er spricht von dem Tool "dump" und dem dazugehörigen Tool "restore". Beide haben mit MySQL nix am Hut.

Je nach Version und Parameter und Dateisystem legt "dump" aber einen Snapshot an, sobald es ausgeführt wird und sichert dann einen konsistenten Dateizustand aller Dateien mithilfe eben dieses Snapshots.

Demnach sollten zumindest alle Datenbankdateien vorhanden sein und keine Datei davon fehlen.

Die entscheidende Frage ist jetzt allerdings, in welchem Zustand die Datenbank sich selbst befunden hat und wieviel der ganzen Transaktionen noch im Speicher gehangen haben. Das kann, selbst bei einem konsistenten Dateisystemzustand trotzdem zu Problemen führen (was bei mir bisher aber noch nicht aufgetreten ist).
Dennoch habe ich eigentlich immer ein Skript am laufen, das vor dem eigentlichen Backup mit "dump" die Datenbank erstmal exportiert und ich somit einen garantiert funktionsfähigen Zustand der Datenbank habe.

So wie du allerdings dein Problem beschreibst, klingt mir das eher nach einem anderen Fehler. Du hast auch wirklich mit dump ALLE Dateisysteme gesichert? "Dump" ist nämlich je Mountpoint beschränkt. Sicherst du /usr, ist /var noch lange nicht dabei. Und in /var liegt ja per Default die MySQL-DB.
Das hast du berücksichtigt? Wenn ja, wüsste ich jetzt allerdings auch nicht, warum dann dein Datenbankverzeichnis keine Dateien enthalten sollte.
 
Hallo cla,

ich habe insgesamt 3 Dateien bzgl. meines Dumps: /, /var, /usr
Die Datenbank habe ich zuvor nicht exportiert also leider den dump im laufenden Betrieb gemacht.

Ich habe gerade eben im zurückgesicherten /var Verzeichnis nachgesehen, dort befinden sich unter /var/db/mysql/mysql Dateien wie beispielsweise user.frm, usr.myi und usr.myd oder auch tables_priv...

Leider weis ich nicht genau welche Daten in diesen Dateien noch tatsächlich vorhanden sind. Kann ich das irgendwie rausfinden ?

Bzgl. der Transaktionen kann ich nur soviel sagen, dass auf dem Server ein wordpress läuft und es Nachts um 3.00 Uhr war, als das Backup erstellt wurde. Somit sind keine Webuser auf der DB (über Wordpress) jedoch natürlich die Wordpress selbst.

Hast du bzgl. habt Ihr noch ne Idee hierzu ?

Gruß Marcus
 
das problem wird sein, dass mysql noch lief und die daten deshalb schrott sind und mysql damit nichts mehr anfangen kann. es gibt da ein perlskript, dass dir die mysql-datenbanken per mysql-dump sichert (falls du das nicht selber skripten möchtest). die kannst du dann in ein verzeichnis packen lassen, und das in den dump mit einbeziehen; das mysql datenbankverzeichnis lässt du dann aussen vor. die datenbanken kannst du dann wie von SierraX beschrieben zurückspielen (das geht auch per phpMyAdmin, falls dir die kommandozeile nicht so zusagt; dort ist die upload-grenze durch die php.ini begrenzt).

hth,
marc
 
nein, das meinte ich nicht. zu finden ist das hier. bei uns funktioniert es wunderbar. in dem skript die einstellungen vornehmen, in die crontab packen und gut ist :)
 
Danke für diese wirklich guten Tipps, ich werde diese definitiv für die Zukunft berücksichtigen. Damit mir soetwas nicht mehr vorkommt !

Gibt es denn eine Möglichkeit irgendeines "repair" für meine jetzigen DB unter mysql ?

Gruß Mardor
 
Kuck dir mal den Befehl "mysqlcheck" an...der sollte das machen, was du suchst.
 
Zurück
Oben