Wie kann man eine MySQL-Datenbank aus den physischen Dateien wiederherstellen?

12

Ich habe gerade mein System neu installiert, ich habe kein Dump-Backup durchgeführt, aber ich habe immer noch den physischen Ordner meiner vorherigen MySQL-Installationen.

Kann ich damit meine aktuelle Konfiguration wiederherstellen und aktualisieren?

John
quelle

Antworten:

10

Es ist möglich, aber nicht vorgeschlagen. Wenn ich es versuchen würde, würde ich es folgendermaßen machen.

  1. Installieren Sie mysql, konfigurieren Sie so nah wie möglich am alten Server oder verwenden Sie einfach dieselbe Konfiguration. Stellen Sie sicher, dass es gestartet und neu gestartet wird und Sie sich anmelden können. Fahren Sie nun MySQL herunter.

  2. Bewegen Sie die alte Installation mit aus dem Weg mv /var/lib/mysql /var/lib/mysql.orig

  3. Rsync oder kopieren Sie die neuen Dateien an Ort und Stelle. sudo rsync -av /old/mysql/ /var/lib/mysql/Ich empfehle, die Originaldateien in ihrem aktuellen Zustand zu belassen, falls dies nicht funktioniert.

  4. sudo chown -R mysql: /var/lib/mysqlund starten Sie dann MySQL. Überprüfen Sie die Protokolle, stellen Sie sicher, dass alles gut aussieht, und melden Sie sich dann bei MySQL an. Stöbern Sie und stellen Sie sicher, dass es so aussieht, als ob Ihre Daten dort sind.

Vorausgesetzt, alles lief reibungslos, sollten Sie eingestellt sein. Machen Sie jetzt sofort einen ordentlichen Back of Mysql, damit Sie das nächste Mal keinen solchen Unsinn machen müssen.

kashani
quelle
1
Ich würde vorsichtig sein, obiger Schritt 2 vor Schritt 1 durchzuführen. Sie möchten sicherstellen, dass die Installation und der Start von mysqld Ihre alte Systemdatenbank nicht überschreibt.
Malcolmpdx
Das ist ein guter Punkt. Ich nahm an, dass / var / lib / mysql nicht aus der ursprünglichen Installation stammt. Stellen Sie in jedem Fall sicher, dass sich Ihre Originaldateien nicht unter / var / lib / mysql befinden, bevor Sie dies starten. Sie möchten mit einer neuen Mysql-Instanz beginnen, bevor Sie versuchen, Ihre Originaldaten zu laden.
Kashani
danke Ich habe den Schritt leicht geändert, um ihn an meine Zend Server CE & MacOS Umgebung anzupassen und es funktioniert!
John
@ Kashani Ich habe diese Anweisungen befolgt (Centos), aber auf einem neuen Server bekomme ich die Tabelle angezeigt, aber die Daten und Tabelle nicht .. irgendwelche Ideen? Ich sehe alle Tabellen in dem Ordner, in denen sie nicht
angezeigt
2
@ K2xL Ich bin mir nicht sicher, was du siehst. Wenn Sie eine neue Frage mit den Details zu dem, was Sie sehen und wie Sie dies erreicht haben, erstellen, würde ich mich freuen, sie anzusehen. Beachten Sie, dass die obige Methode nur für die gesamte MySQL-Installation funktioniert, nicht für einzelne Datenbanken, da in Innodb-Tabellen Daten in den Haupt-ibdata-Dateien gespeichert sind, unabhängig davon, ob Sie innodb_file_per_table verwenden oder nicht.
Kashani