Eine gesamte Datenbank wiederherstellen
Nachdem Sie nun Backups haben, üben wir deren Wiederherstellung. In diesem Schritt simulieren Sie eine Katastrophe, indem Sie die gesamte Datenbank mydatabase löschen und sie dann aus Ihrer vollständigen Backup-Datei wiederherstellen.
Lassen Sie uns zuerst die Datenbank löschen. Das Flag -e ermöglicht es Ihnen, einen einzelnen SQL-Befehl direkt von Ihrem Terminal auszuführen.
sudo mysql -u root -e "DROP DATABASE mydatabase;"
Überprüfen Sie, ob die Datenbank entfernt wurde.
sudo mysql -u root -e "SHOW DATABASES;"
Sie werden sehen, dass mydatabase nicht mehr in der Liste aufgeführt ist.
Bevor Sie die Daten wiederherstellen können, müssen Sie eine leere Datenbank mit demselben Namen erstellen.
sudo mysql -u root -e "CREATE DATABASE mydatabase;"
Stellen Sie nun die Datenbank wieder her, indem Sie die Datei mydatabase_backup.sql als Eingabe für den mysql-Client umleiten.
sudo mysql -u root mydatabase < /home/labex/backup/mydatabase_backup.sql
Der Befehl führt alle SQL-Anweisungen in der Backup-Datei aus und erstellt die Tabellen neu und fügt die Daten ein.
Um die Wiederherstellung zu überprüfen, verbinden Sie sich mit MySQL und überprüfen Sie die Tabellen und deren Inhalt.
sudo mysql -u root
Geben Sie an der mysql>-Eingabeaufforderung diese Befehle ein:
USE mydatabase;
SHOW TABLES;
SELECT * FROM users;
Sie sollten die Tabellen products und users wieder sehen, und die Tabelle users sollte ihre ursprünglichen Daten enthalten.
+--------------------+
| Tables_in_mydatabase |
+--------------------+
| products |
| users |
+--------------------+
2 rows in set (0.00 sec)
+----+------------+--------------------------+
| id | name | email |
+----+------------+--------------------------+
| 1 | John Doe | john.doe@example.com |
| 2 | Jane Smith | jane.smith@example.com |
+----+------------+--------------------------+
2 rows in set (0.00 sec)
Beenden Sie die MySQL-Shell.
exit
Sie haben die gesamte Datenbank erfolgreich von einem katastrophalen Ausfall wiederhergestellt.