ユースケース
説明:
ストレージ容量を節約するために、TencentDB for MySQLの物理バックアップファイル及び論理バックアップファイルは、まずqpressで圧縮し、次にxbstreamでパッケージング(xbstreamはPerconaのパッケージング/アンパッケージングツール)して圧縮とパッケージングを実行します。
オープンソースソフトウェアPercona Xtrabackupは、データベースのバックアップと復元に使用されます。このドキュメントでは、XtraBackupツールを使用して、MySQLの物理バックアップファイルを別のホスト上の自己構築データベースに復元する方法について説明します。
ご注意:
透過的な暗号化またはInstant DDL機能を使用している場合は、物理バックアップを使用して自己構築システムでリカバリすることはできません。
XtraBackupツールはLinuxプラットフォームのみに対応し、Windowsプラットフォームに対応していません。
前提条件
XtraBackupツールをダウンロードしてインストールします。
MySQL 8.0の場合、ダウンロード先からPercona XtraBackup 8.0.22-15以降のバージョンをご利用ください。 サポートするインスタンスのバージョン:MySQL 2ノードおよび3ノード。
透過的データ暗号化(TDE)機能が有効になっているインスタンスでは、物理バックアップを使用したデータベースの復元がサポートされていません。
説明:
ここではCentOS OSのCloud Virtual Machine (CVM) とMySQL 5.7バージョンを例として説明します。
MySQLインスタンスのデータバックアップ、ログバックアップはコンソールからダウンロードできます。
説明:
デフォルトでは、各IPのリンクは10個に制限しており、各リンクのダウンロード速度は20Mbps~30Mbpsです。
1. MySQLコンソールにログインし、インスタンスリストのインスタンスIDまたは操作列の管理をクリックして、インスタンス管理ページに進みます。 2. インスタンス管理画面で、バックアップ・復元>データバックアップリストのページを選択し、ダウンロードしたいバックアップを選択して、操作列のダウンロードをクリックします。
説明:
ローカルダウンロードを選択して直接ダウンロードすることもできますが、時間がかかります。
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:データの復元
3.1 バックアップファイルのアンパッケージング
xbstreamコマンドを使用してバックアップファイルをターゲットディレクトリにアンパックします。
xbstream -x --decrypt=AES256 --encrypt-key-file=<キーファイルのバックアップ> --parallel=2 -C /data/mysql < /data/test.xb
説明:
本書では、ターゲットディレクトリは、/data/mysqlをデータファイルとしてストレージを復元します。必要に応じて、実際のパスで置き換えてください。
/data/test.xbをバックアップファイルで置き換えます。
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 バックアップファイルのPrepare
バックアップファイルが解凍された後、下記のコマンドを実行して「apply log」処理を行います。
xtrabackup --prepare --target-dir=/data/mysql
実行した後、結果に下記の出力が含まれている場合は、準備が成功したことを示します。
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
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クライアントにログインします。
バックアップに関するよくある質問