innobackupex命令對mysql數據庫進行徹底和增量備份

測試環境:
mysql

         OS: rhel5linux

         mysql : mysql-5.6.25-linux-glibc2.5-i686.tar.gzsql

         xtrabackup: percona-xtrabackup-2.2.10-1.el5.i386.rpm數據庫

         這裏mysql的通用二進制包安裝步驟省略~app

         mysql的數據目錄創建在一個邏輯捲上    /mydata/data
ide

         mysql的數據備份目錄  /backup測試


1.安裝xtrabackup
spa

   # rpm -ivh  percona-xtrabackup-2.2.10-1.el5.i386.rpmrem

2.創建原始數據it

   # mysql

   mysql> create database student;

   mysql> use student;

   mysql> create table user(id tinyint primary key auto_increment not null,name  char(32) not null default '');

   mysql> desc user;

   mysql> insert into user(name)  values ('luochen'),('redhat');

   mysql> select * from user;        ###驗證數據是否插入成功

3.徹底備份

   # innobackupex --user=root  /backup      ##這裏沒有設定root密碼

   # cd /backup/           ###查看是否有一個已當前時間生成的目錄

PS: 若是不進行增量備份想還原徹底備份使用下面命令

   # innobackupex  --apply-log    /backup/2015-09-24_10-27-04

   # innobackupex  --copy-back  /backup/2015-09-24_10-27-04

4.修改數據庫表中的數據(模以真實的狀況)

   # mysql

   mysql> insert into user(name)  values ('zuowei'),('zhangsan');

   mysql> select * from user;

5.進行第一次增量備份(在徹底備份的基礎上)

   # innobackupex --incremental /backup  --increment-basedir=/backup/2015-09-24_10-27-04

PS: 2015-09-24_10-27-04 爲徹底備份生成的目錄

6.再次修改表中數據

   # mysql

   mysql> use student;

   mysql> delete from user where id in(2,3);

   mysql> insert into user(name) values ('endtime');

   mysql> select * from user;

7.進行第二次增量備份

   # innobackupex   --incremental  /backup  --incremental-basedir=/backup/2015-09-24_10-28-43

PS: 2015-09-24_10-28-43 爲第一次增量備份生成的目錄

8.模以數據被破壞

   # service mysqld stop

   # rm -rf  /mydata/data/*

9.準備從徹底備份和增量備份中恢復數據  

   # innobackupex --apply-log --redo-only  /backup/2015-09-24_10-27-04

   # innobackupex --apply-log --redo-only  /backup/2015-09-24_10-27-04  --incremental-dir=/backup/2015-09-24_10-28-43

    # innobackupex --apply-log --redo-only  /backup/2015-09-24_10-27-04  --incremental-dir=/backup/2015-09-24_10-30-37

10.恢復全部數據

    # innobackupex --copy-back  /backup/2015-09-24_10-27-04

11.改變數據目錄文件的所屬主組

    # cd /mydata/data

    # chown -R  mysql.mysql  ./*

12.驗證數據是否恢復成功

    # mysql

    mysql> use student;

    mysql> select * from user;

PS: 

      2015-09-24_10-27-04    ###徹底備份

      2015-09-24_10-28-43    ###第一次增量備份

      2015-09-24_10-30-37    ###第二次增量備份

相關文章
相關標籤/搜索