MySQLをバックアップするために、サードパーティ製のツールを使用して----- percona
まず、準備作業:
1、インストールの依存関係:YUMのperl-MD5ダイジェストのperl-DBD-MySQLのインストール-y
rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm
2、メインパッケージのインストール:percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm
percona是一款在线热备工具
図3は、二つの成分を含みます:
/usr/bin/xtrabackup :支持innodb和xtraDB(增量备份)
/usr/bin/innobackupex :支持innodb和myisam(只支持全备,不支持增量)
4、innobackupexは多くのオプションが含まれています
--user 用户名
--password 密码
--databases 库名
--no-timestamp 不使用系统日期做备份目录的子目录名
--apply-log 恢复日志
--copy-back 恢复数据
第二に、フルバックアップと完全回復
1、フルバックアップ
innobackupex --user root --password 123456 --database="mysql db66 performance sys"
--no-timestamp /allbak //指定备份三个数据库,生成的备份文件目录不用系统时间做目录名
2、データ復旧は、データベースディレクトリが空で、ライブラリは3つのシステムにバックアップする必要があります
首先恢复日志:innobackupex --user root --password 123456 --apply-log /allbak
删除数据库目录: rm -rf /var/lib/mysql
创建数据库目录: mkdir /var/lib/mysql
恢复数据:innobackupex --user root --password 123456 --copy-back /allbak/
赋予数据目录权限:chown -R mysql:mysql /var/lib/mysql
重启服务,验证:systemctl restart mysqld
第三に、増分バックアップと増分リカバリ
1、増分バックアップの前に最初のフルバックアップを行います。
innobackupex --user root --password 123456
--databases = "performance_schema SYS mysqlのdb666"
--no-timestamp /onebak
図2に示すように、最初の増分バックアップ
innobackupex --user root --password 123456 //指定用户名密码
--databases="performance_schema sys mysql db666" //指定需要备份的数据库
--incremental /new1 //指定增量备份的路径
--incremental-basedir=/onebak //指定以哪个备份来做为增量备份的参考
--no-timestamp
3、第2の増分バックアップ:
innobackupex --userルートは123456を--password
--databases="performance_schema sys mysql db666"
--incremental /new2 //第二次增量备份的路径
--incremental-basedir=/new1 //以上次增量备份做为参考来做增量备份
--no-timestamp
4、増分リカバリファイルのディレクトリ説明
LSNのxtrabackup_checkpoints xtrabackup_logfile //これらの2つのファイルに変更レコード番号
5、回復ステップ
、ディレクトリ内のデータファイルを削除します。rm -rfを/ var / libに/ mysqlの/ *
Bは、フルバックアップログログを復元します---
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--apply-log --redo-only //恢复日志,并合并日志
/onebak --no-timestamp
Cは、最初の増分バックアップを復元する(ログのみを復元する必要があり、ログをマージすることができます)
innobackupex --user root --password 123456
--databases="performance_schema sys mysql db666"
--apply-log --redo-only /onebak //源日志路径
--incremental-dir=/new1 --no-timestamp //需合并的日志文件的路径
D、増分バックアップを回復するために二度目
innobackupex --userルートは123456を--password
--databases = "performance_schema SYS mysqlのdb666"
パス--apply---REDOログ・オンリー/ onebak //ソースログファイル
--incremental-DIR = / NEW2 --no-タイムスタンプ// 2番目の増分バックアップは、ログをマージ
増分バックアップの内容は、内部のすべての機器に組み込まれているので、E、すぐ内側の完全バックアップを復元し、データを回復
innobackupex --user root --password 123456 --copy-back /onebak
データディレクトリのパーミッションにF、サービス検証を再起動します
chown -R mysql:mysql /var/lib/mysql
systemctl restart mysqld
第四に、単一のテーブルにフルバックアップデータを復元
1、輸出//インポート//エクスポートテーブルインポートテーブルスペース情報
删除表空间:alter table 表 discard tablespace;
2、単一のデータベースのバックアップ:
innobackupex --user root --password 123456
--databases="mydb" --no-timestamp /mydb //只备份一个数据库
図3は、テーブルのフィールドは前と同じである必要があります(表を作成し、テーブルを削除し、シミュレートされたテーブルが失われます
drop table t1; create table t1(id int);
図4に示すように、エクスポートテーブル情報:パラメーターが使用されている--export
innobackupex --userルートは、/ db66を--export --applyログ123456 --databases = "db66" を--password
5、表スペースを削除します。mysqlコマンドライン操作を
alter table db66.t1 discard tablespace;
6、バックアップディレクトリ情報テーブルのエクスポートは、データベースのディレクトリにコピーし、許可を与えています
CP /db66/db66/t1.{cfg,exp,ibd}の/ var / libに/ mysqlの/ db66 /
chownコマンドmysqlの/var/lib/mysql/db66/t1.*
7、インポートテーブルスペース
輸入表領域db66.t1テーブルを変更。
8、検証:db66.t1から*選択します。