説明:ストレージ容量を節約するために、TencentDB for MySQLの物理バックアップファイル及び論理バックアップファイルは、まずqpressで圧縮し、次にxbstreamでパッケージング(xbstreamはPerconaのパッケージング/アンパッケージングツール)して圧縮とパッケージングを実行します。
オープンソースソフトウェアPercona Xtrabackupは、データベースのバックアップと復元に使用されます。このドキュメントでは、XtraBackupツールを使用して、MySQLの物理バックアップファイルを別のホスト上の自己構築データベースに復元する方法について説明します。
注意:透過的な暗号化またはInstant DDL機能を使用している場合は、物理バックアップを使用して自己構築システムでリカバリすることはできません。
説明:ここではCentOS OSのCloud Virtual Machine (CVM) とMySQL 5.7バージョンを例として説明します。
MySQLインスタンスのデータバックアップ、ログバックアップはコンソールからダウンロードできます。
説明:デフォルトでは、各IPのリンクは10個に制限しており、各リンクのダウンロード速度は20Mbps~30Mbpsです。
例:説明:
- ローカルダウンロードを選択して直接ダウンロードすることもできますが、時間がかかります。
- 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
コンソールからTencentDB for MySQLのデータバックアップの復号化キーをダウンロードできます。
説明:データベースのバックアップごとに個別に復号化キーが生成されるため、バックアップの暗号化機能を有効にしている場合は、バックアップファイルをダウンロードするときに復号化キーとともにダウンロードして保存してください。
xbstreamコマンドを使用してバックアップファイルをターゲットディレクトリにアンパックします。
xbstream -x --decrypt=AES256 --encrypt-key-file=<キーファイルのバックアップ> --parallel=2 -C /data/mysql < /data/test.xb
説明:
- 本書では、ターゲットディレクトリは、
/data/mysql
をデータファイルとしてストレージを復元します。必要に応じて、実際のパスで置き換えてください。/data/test.xb
をバックアップファイルで置き換えます。
展開した結果は、次の図に示したとおりです:
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
説明:wgetダウンロード中にエラーが発生した場合、qpressツールをダウンロードをクリックしqpressツールをローカルにダウンロードした後、Linux CVMにアップロードしてください。詳しくは、SCPでLinux CVMにファイルをアップロードをご参照ください。
次のコマンドを実行して、qpressバイナリーファイルを解凍します。
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
次のコマンドを実行して、ターゲットディレクトリの下にある.qp
で終わるすべてのファイルを解凍します。
xtrabackup --decompress --target-dir=/data/mysql
説明:
/data/mysql
はこの前バックアップファイルを保存するターゲットディレクトリです。必要に応じて実際のパスで置き換えてください。- Percona Xtrabackupは2.4.6以降のバージョンで
--remove-original
オプションをサポートします。xtrabackup
は、デフォルトでは解凍時に元のファイルを削除しません。解凍後に元のファイルを削除する場合、上記のコマンドに--remove-original
パラメータを指定してください。
バックアップファイルが解凍された後、下記のコマンドを実行して「apply log」処理を行います。
xtrabackup --prepare --target-dir=/data/mysql
実行した後、結果に下記の出力が含まれている場合は、準備が成功したことを示します。
backup-my.cnf
を開きます。vi /data/mysql/backup-my.cnf
説明:本書では、ターゲットディレクトリ
/data/mysql
を例として説明します。必要に応じて、実際のパスで置き換えてください。
backup-my.cnf
で下記のパラメータをコメントアウトしてください。innodb_checksum_algorithm
innodb_log_checksum_algorithm
innodb_fast_checksum
innodb_page_size
innodb_log_block_size
redo_log_version
ファイルプロパティを変更し、ファイルがmysqlユーザーによって所有されているかどうかを確認します。
chown -R mysql:mysql /data/mysql
mysqldプロセスを起動します。
mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &
検証のためにmysqlクライアントにログインします。
mysql -uroot
バックアップに関するよくある質問及びバックアップ失敗の原因をご参照ください。
この記事はお役に立ちましたか?