バックアップとリカバリ · 1 min read · Feb 10, 2026
Debian Sarge における mysql-zrm を使用した MySQL バックアップとリカバリ - ページ 4
6 バックアップの確認
今、私たちはバックアップセット dailyrun の整合性を確認したいと思います。次のように行うことができます:
mysql-zrm --action verify-backup --backup-set dailyrun出力は次のようになります:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Verification successful |
(最初の行の警告は無視しても構いません、深刻なものではありません。)
次に、バックアップセット dailyrun 内の特定のバックアップを確認したいと思います。まず、次のコマンドを実行します。
mysql-zrm-reporter -show restore-full-info --where backup-set=dailyrun利用可能なバックアップを確認するために:
| backup_set backup_date backup_level backup_directory ---------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195747 dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195808 dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195831 dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926202404 |
ご覧のとおり、バックアップセット dailyrun には 4 つのバックアップがあります。私たちは、ディレクトリ /var/lib/mysql-zrm/dailyrun/20060926202404 にある最後のバックアップを確認したいと思います。次のように行うことができます:
mysql-zrm --action verify-backup --backup-set dailyrun --no-quiet --source-directory /var/lib/mysql-zrm/dailyrun/20060926202404出力は次のようになります:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Verification successful |
7 データのリカバリ
データベースがクラッシュし、データを失ったと仮定しましょう。これが、MySQL バックアップからデータを復元する方法です。まず、次のコマンドを実行します。
mysql-zrm-reporter -show restore-full-info --where backup-set=dailyrun利用可能なバックアップを確認するために:
| backup_set backup_date backup_level backup_directory ---------------------------------------------------------------------------------------------------------- dailyrun Tue 26 Sep 2006 07:57:47 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195747 dailyrun Tue 26 Sep 2006 07:58:08 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195808 dailyrun Tue 26 Sep 2006 07:58:31 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926195831 dailyrun Tue 26 Sep 2006 08:24:04 PM CEST 0 /var/lib/mysql-zrm/dailyrun/20 060926202404 |
私たちは、/var/lib/mysql-zrm/dailyrun/20060926202404 にある最新のバックアップから復元したいと思います:
mysql-zrm --action restore --backup-set dailyrun --source-directory /var/lib/mysql-zrm/dailyrun/20060926202404出力は次のようになります:
| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version INFO: Restored database from raw backup: egroupware INFO: Restored database from raw backup: mysql INFO: Restore done in 14 seconds. MySQL server has been shutdown. Please restart after verification. |
データは復元されましたが、MySQL サーバーはシャットダウンされています。したがって、今すぐ起動する必要があります:
/etc/init.d/mysql start論理形式ではなく生形式でバックアップを作成した場合、次のようにデータを復元することもできます。
8 複数のバックアップポリシー
これまで、すべてのバックアップセットに適用される /etc/mysql-zrm/mysql-zrm.conf に 1 つのグローバル設定がありました。今、osCommerce データベースのためのバックアップセット osCommerce、vBulletin データベースのためのバックアップセット vBulletin などがあると仮定しましょう。
すべての MySQL データベースをバックアップセット osCommerce にバックアップすることは意味がありません。なぜなら、そのバックアップには osCommerce データベースのみが含まれるべきだからです。同様に、vBulletin バックアップセットにも当てはまります。この問題を解決する方法は次のとおりです:
各バックアップセットには /etc/mysql-zrm ディレクトリ内に独自のサブディレクトリがあります。たとえば、バックアップセット osCommerce には /etc/mysql-zrm/osCommerce ディレクトリがあります。mysql-zrm が実行されると、最初に /etc/mysql-zrm/mysql-zrm.conf のグローバル設定を確認し、その後、現在のバックアップセットのディレクトリ内の mysql-zrm.conf ファイルを確認します。このファイルの設定は、/etc/mysql-zrm/mysql-zrm.conf のグローバル設定を上書きします。たとえば、現在のバックアップセットが osCommerce の場合、mysql-zrm は最初に /etc/mysql-zrm/mysql-zrm.conf から設定を読み込み、その後 /etc/mysql-zrm/osCommerce/mysql-zrm.conf から設定を読み込みます。
バックアップセット osCommerce において、MySQL データベース osCommerce のみをバックアップしたい場合、次の内容を /etc/mysql-zrm/osCommerce/mysql-zrm.conf に記述します:
vi /etc/mysql-zrm/osCommerce/mysql-zrm.conf| databases=osCommerce |
9 古いバックアップの削除
mysql-zrm 設定で保持ポリシーを設定していない場合、MySQL バックアップは永遠に保持されます。これは、ハードディスクが時間とともに満杯になることを意味します。古いバックアップは、バックアップディレクトリを削除することで簡単に削除できます。たとえば、/var/lib/mysql-zrm/dailyrun/20060926195831 にバックアップがあり、もう必要ない場合、次のように削除できます:
rm -fr /var/lib/mysql-zrm/dailyrun/2006092619583110 ログ
mysql-zrm はログファイル /var/log/mysql-zrm/mysql-zrm.log にログを記録します。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。