【MySQL】Xtrabackupバックアップツール使用

2147 ワード

概要:
Xtrabackupはperconaが提供するmysqlデータベースのバックアップツールで、オンラインホットバックアップをサポートする(バックアップ時にデータの読み書きに影響しない).Xtrabackupには2つの主要なツールがある:xtrabackup、innobackupex 1、xtrabackupはInnoDBとXtraDBの2種類のデータテーブルしかバックアップできないが、MyISAMデータテーブル2、innobackupexはInnoDB Hotbackupのinnobackスクリプトの修正を参考にしたものである.innobackupexはperlスクリプトパッケージでxtrabackupをカプセル化しています.主にInnoDBとMyISAMエンジンのテーブルを容易に同時にバックアップするためですが、myisamの処理にはリードロックが必要です.使用するオプションもいくつか追加されています.slave-infoのように、バックアップリカバリ後にslaveに必要な情報として記録することができ、これらの情報に基づいて、バックアップを利用してslaveをやり直すことが容易になります.
この文書では、innobackupexツールを使用してフルおよびインクリメンタルバックアップを行う方法について説明します.インストール:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
yum install percona-xtrabackup-24

#  innobackupex -verion   
# innobackupex --help  

バックアップ前準備:InnoDBを独立した表領域モード、すなわちmyに変更する.cnfで[mysqld]でinnodb_を設定file_per_table=1個別のバックアップディレクトリの作成を推奨する例:/xbackupフル備:
innobackupex --defaults-file=/etc/my.cnf  --user=root --password='yourpassword'  /xbackup
#  completed OK! , 。

リカバリ:すべてリカバリする場合は、mysqlサービスを停止する必要があります.mysqldataディレクトリの下にファイルがないことを確認する必要があります.
service mysqld stop
innobackupex  --apply-log  /xbackup/2017-09-07_09-50-11/
# apply-log , , , 
innobackupex --defaults-file=/etc/my.cnf  --copy-back /xbackup/2017-09-07_09-50-11/
chown -R mysql:mysql /mysqldata
service mysqld start

シングルテーブルリカバリ
innobackupex  --apply-log --export /xbackup/2017-09-07_15-53-53/
#  t1   
ALTER TABLE t1 DISCARD TABLESPACE;
cp /xbackup/2017-09-07_15-53-53/test/t1.{ibd,exp,cfg}  /mysqldata/test/
chown -R mysql:mysql /mysqldata
ALTER TABLE t1 IMPORT TABLESPACE;

インクリメンタルバックアップとリカバリ:
innobackupex --defaults-file=/etc/my.cnf  --user=root --password='xxxxxx'  --no-timestamp  --incremental  /xbackup/inc1 --incremental-basedir=/xbackup/2017-09-07_09-50-11
#  
service mysqld stop
innobackupex --apply-log /xbackup/2017-09-07_09-50-11/  --incremental-dir=/xbackup/inc1/
innobackupex  --copy-back /xbackup/2017-09-07_09-50-11/
chown -R mysql:mysql /mysqldata
service mysqld start