データベース全体の復元
バックアップが完了したので、それらを復元する練習をしましょう。このステップでは、データベース全体を削除するという災害をシミュレートし、その後、フルバックアップファイルから復元します。
まず、データベースを削除します。-e フラグを使用すると、ターミナルから直接単一の SQL コマンドを実行できます。
sudo mysql -u root -e "DROP DATABASE mydatabase;"
データベースが削除されたことを確認します。
sudo mysql -u root -e "SHOW DATABASES;"
mydatabase がリストに表示されなくなっていることがわかります。
データを復元する前に、同じ名前の空のデータベースを作成する必要があります。
sudo mysql -u root -e "CREATE DATABASE mydatabase;"
次に、mydatabase_backup.sql ファイルを mysql クライアントへの入力としてリダイレクトすることで、データベースを復元します。
sudo mysql -u root mydatabase < /home/labex/backup/mydatabase_backup.sql
このコマンドは、バックアップファイル内のすべての SQL ステートメントを実行し、テーブルを再作成してデータを挿入します。
復元を確認するには、MySQL に接続し、テーブルとその内容を確認します。
sudo mysql -u root
mysql> プロンプトで、次のコマンドを実行します。
USE mydatabase;
SHOW TABLES;
SELECT * FROM users;
products および users テーブルが再び表示され、users テーブルには元のデータが含まれているはずです。
+--------------------+
| 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)
MySQL シェルを終了します。
exit
壊滅的な障害からデータベース全体を正常に復旧しました。