MySQLのシリーズ-------バックアップおよびMySQLを復元する-perconaサードパーティ製のツールを使用します

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から*選択します。

おすすめ

転載: blog.51cto.com/14421632/2415070