バックアップとリカバリ · 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/20060926195831

10 ログ

mysql-zrm はログファイル /var/log/mysql-zrm/mysql-zrm.log にログを記録します。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。