NetBackup™ for MySQL 管理者ガイド
リストア操作後にリカバリを実行する手順
さまざまなプラットフォームでリカバリ後に実行する手順を次に示します。
Windows (VSS) の場合:
- [コントロールパネル]、[システムとセキュリティ]、[管理ツール]、[サービス]の順に進みます。
- MySQL サービスを選択して停止します。
- MySQL データディレクトリからすべてを削除または移動します。
メモ:
リストア後、次のコマンドを使用して、リストアされたデータディレクトリおよびファイルの属性を変更します。
attrib -S restore_path/*.* /S /D
- リストアされたデータディレクトリのすべての内容を MySQL データディレクトリにコピーします。
- データディレクトリからすべての一時ファイルを削除します。
例:
C:\ProgramData\MySQL\MySQL Server 8.0\Data\#innodb_temp
データディレクトリから
undo_00x
ファイルを削除します。例:
C:\ProgramData\MySQL\MySQL Server 8.0\undo_001
- MySQL サービスを起動します。
Linux (LVM) の場合:
- MySQL サービスを停止します。
- リストアされたデータディレクトリのすべての内容を MySQL データディレクトリにコピーします。
- MySQL データディレクトリの所有権とアクセス権を変更します。
例:
chmod -R 750 mysql_data_directory_path
chown -R mysql:mysql mysql_data_directory_path
- MySQL サービスを起動します。
メモ:
増分バックアップの
binlog
はMyBINLOGS
ディレクトリのターゲットディレクトリにリストアされます。
binlog
を含む増分バックアップからのリカバリでは、次のコマンドを使用して binlogs
をリプレイします。
Windows の場合:
for /f "tokens=*" %i in ('dir "< restore_path\MyBINLOGS" /s /b') do (mysqlbinog "%i" | mysql -u user -P port -p)
Linux の場合:
mysqlbinlog restore_directory/MyBINLOGS/* | mysql -u user -P port -p
mysqldump
ユーティリティを使用して MySQL データベースをリカバリします。
次の NetBackup コマンドの例は、主に Windows および Linux プラットフォームで使用されます。
Windows の場合:
mysql --host=host --user=user --port=port -p database_name < restore_path\mysqlBackup_Dump_xxx.sqlx
Linux の場合:
mysql --host=host --user=user --port=port -p database_name < restore_path\mysqlBackup_Dump_xxx.sqlx
次のコマンド例では、すべてのデータベースを含む単一のダンプファイルを作成します。
Windows の場合:
mysql --host=host --user=user --port=port -p < restore_path\mysqlBackup_Dump_xxx.sqlx
Linux の場合:
mysql --host=host --user=user --port=port -p < restore_path\mysqlBackup_Dump_xxx.sqlx
binlog
を含む増分バックアップからリカバリを実行する場合は、次のコマンドを使用して binlogs
をリプレイします。
Windows の場合:
for /f "tokens=*" %i in ('dir restore_path/s /b') do (mysqlbinog "%i" | mysql -u user -P port -p)
Linux の場合
mysqlbinlog restore_directory/* | mysql -u user -P port -p
MySQL クラスタ配備の場合にリストアとリカバリ後に実行する手順
- MySQL クラスタの配備の場合は、リストアとリカバリ後に次の手順に従います。
mysqldump
バックアップの場合は、レプリカで次の問い合わせを実行します。STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 3;
START SLAVE;
- スナップショットの場合は、次の手順を実行します。
ソース上:
$ mysqldump -u user -p --all-databases --master-data > source-data.sql 2 コマンドを実行します。
次の方法で、ソースからレプリカホストに
source-data.sql
ファイルをコピーします。Linux の場合
$ scp source_data.sql host_user@ source_ip_address:destination_path
Windows の場合
WinSCP を使用するか、手動で実行します。
レプリカ上:
mysql -u user -P port -p < destimation_path_of_source-data.sql_file
次の MySQL 問い合わせを実行します。
ソース上:
reset master;
レプリカ上:
stop slave;
reset slave;
reset master;
start slave;