シナリオ
説明:
ストレージスペースを節約するため、TencentDB for MySQLの物理バックアップと論理バックアップファイルは、まずqpressで圧縮され、その後xbstream(xbstreamはPerconaのパッケージング/解凍ツールです)でパッケージングされ、圧縮とパッケージングが行われます。
オープンソースソフトウェアのPercona XtraBackupは、データベースのバックアップと復元に使用できます。本記事では、Percona XtraBackupツールを使用して、MySQLの物理バックアップファイルを他のホスト上の独自構築のデータベースに復元する方法について説明します。
説明:
透明暗号化またはInstant DDL機能を使用している場合、物理バックアップを使用して自己構築システム上で復元することはできません。
Percona XtraBackupはLinuxプラットフォームのみをサポートし、Windowsプラットフォームはサポートされていません。
前提条件
Percona XtraBackupツールをダウンロードしてインストールします。
説明:
ダウンロードするツールのバージョンが、ご利用のデータベースバージョンと一致していることを確認してください。例えば、インスタンスのデータベースバージョンがMySQL 8.0.30の場合は、8.0.30バージョンのPercona XtraBackupツールをダウンロードしてください。ダウンロードページをクリックすると、バージョンの確認とツールのダウンロードに移動できます。インストールの詳細については、Percona XtraBackup ガイドをご参照ください。 サポートされているインスタンスバージョン:MySQL 2ノード、3ノード。
説明:
本記事では、CentOSオペレーティングシステムのCVMとMySQL 5.7バージョンを例にデモンストレーションを行います。
コンソールを通じてTencentDB for MySQLのデータバックアップ、ログバックアップをダウンロードできます。
説明:
デフォルトでは、各IPアドレスは10接続に制限され、各接続のダウンロード速度は20Mbpsから30Mbpsに達することができます。
1. MySQLコンソールにログインし、インスタンスリストでインスタンスIDまたは操作列の管理をクリックして、インスタンス管理ページに移動します。 2. インスタンス管理ページで、バックアップと復元 > データバックアップリストページを選択し、ダウンロードするバックアップを選択して、操作列のダウンロードをクリックします。
3. ポップアップ表示されるダイアログボックスで、ダウンロードアドレスの横にあるコピーをクリックして、ダウンロードURLを取得します。
4. ローカルに自己構築したMySQLが配置されているLinux CVMにログインし、wgetコマンドを使用してイントラネットで物理バックアップを高速ダウンロードします。
説明:
ダウンロードアドレスの有効期間はすべて12時間です。有効期限が切れた後は、ページを更新して再度取得してください。
wgetコマンドの形式:wget -c 'バックアップファイルのダウンロードアドレス' -O カスタムファイル名.xb
例:
wget -c 'https://mysql-database-backup-sh-1218.cos.ap-nanjing.myqcloud.com/12427%2Fmysql%2F0674-ffba-11e9-b592-70bd%2Fdata%2Fautomatic-delete%2F2019-12-03%2Fautomatic%2Fxtrabackup%2Fbk_61_156758150%2Fcdb-293fl9ya_backup_20191203000202.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKzxfbLJ1%26q-sign-time%3D1575374119%3B1575417319%26q-key-time%3D1575374119%3B1575417319%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dba959757&response-content-disposition=attachment%3Bfilename%3D%22yuan177685_backup_20191203000202.xb%22&response-content-type=application%2Foctet-stream' -O /data/test.xb
ステップ2:バックアップ復号化キーのダウンロード(バックアップの暗号化機能を有効にしている場合のみこの操作が必要)
コンソールを通じてTencentDB for MySQLのデータバックアップ復号化キーをダウンロードできます。
説明:
各データベースバックアップの復号化キーは独立して生成されます。バックアップ暗号化機能を有効にしている場合は、バックアップファイルをダウンロードする際に復号化キーも一緒にダウンロードして保存してください。
1. MySQLコンソールにログインし、インスタンスリストでインスタンスIDまたは操作列の管理をクリックして、インスタンス管理ページに移動します。 2. インスタンス管理ページで、バックアップと復元 > データバックアップリストページを選択し、ダウンロードするバックアップに対応する復号化キーを選択して、操作列のキーのダウンロードをクリックします。
ステップ3:データの復元
3.1 バックアップファイルの解凍
xbstreamコマンドを使用してデータバックアップファイルをターゲットディレクトリに解凍します。
xbstream -x --decrypt=AES256 --encrypt-key-file=<バックアップキーファイル> --parallel=2 -C /data/mysql < /data/test.xb
説明:
バックアップの暗号化が有効になっていない場合、バックアップファイルを解凍するコマンドはxbstream -x -C /data/mysql < /data/test.xbです。
本ドキュメントのターゲットディレクトリは/data/mysqlをデータファイルの復元ストレージとして使用しています。実際の状況に応じて、実際のパスに置き換えてください。
/data/test.xbをお使いのバックアップファイルに置き換えてください。
解凍結果は以下の図の通りです:
解凍するバックアップファイルがbinlogバックアップの場合、コマンドは以下のとおりです。
openssl enc -d -aes256 -k <encrypt_key> -in <download_binlog_name> -out <output_binlog_name>;
<encrypt_key>:実際のキーファイルの内容に置き換えてください。
<download_binlog_name>:実際に暗号化されたbinlogファイル名に置き換えてください。
<output_binlog_name>:実際に復号化するbinlogファイル名に置き換えてください。
3.2 バックアップファイルの解凍
1. 以下のコマンドを使用してqpressツールをダウンロードします。
wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0" https://docs-tencentdb-1256569818.cos.ap-guangzhou.myqcloud.com/qpress-11-linux-x64.tar
2. 以下のコマンドを使用してqpressバイナリファイルを解凍します。
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
3. 以下のコマンドを使用して、ターゲットディレクトリ内の.qpで終わるすべてのファイルを解凍します。
xtrabackup --decompress --target-dir=/data/mysql
説明:
/data/mysqlは以前にバックアップファイルを保存していたターゲットディレクトリです。実際の状況に応じて、実際のパスに置き換えてください。
Percona XtraBackupは、バージョン2.4.6以降で初めて--remove-originalオプションをサポートします。
xtrabackupはデフォルトで、解凍時に元の圧縮ファイルを削除しません。解凍後に元の圧縮ファイルを削除する必要がある場合は、上記のコマンドに--remove-originalパラメータを追加してください。
3.3 バックアップファイルの準備
バックアップを解凍した後、以下のコマンドを実行してapply log操作を行います。
xtrabackup --prepare --target-dir=/data/mysql
実行後の結果に以下の出力が含まれている場合、prepareが成功したことを示します。
3.4 構成ファイルの変更
1. 以下のコマンドを実行してbackup-my.cnfファイルを開きます。
vi /data/mysql/backup-my.cnf
説明:
本ドキュメントでは、ターゲットディレクトリ/data/mysqlを例として使用しています。実際の状況に応じて、実際のパスに置き換えてください。
2. バージョンの問題が存在するため、解凍したファイルbackup-my.cnf内の以下のパラメータをコメントアウトしてください。
innodb_checksum_algorithm
innodb_log_checksum_algorithm
innodb_fast_checksum
innodb_page_size
innodb_log_block_size
redo_log_version
server_uuid
master_key_id
3.5 ファイル属性の変更
ファイルの属性を変更し、ファイルの所有者がmysqlユーザーであることを確認します。
chown -R mysql:mysql /data/mysql
ステップ4:mysqldプロセスの起動とログイン検証
1. mysqldプロセスを起動します。
mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &
2. クライアントからmysqlにログインして検証します。
説明:
コマンドの実行後に入力するパスワードは、バックアップファイルの復元先のクラウドデータベースにおけるrootアカウントに対応するパスワードです。
バックアップ関連の質問