標籤:
Xtrabackup是percona公司的一個開源的備份軟體,可以熱備InnoDB,XtraDB,MyISM(會鎖表)可以看做是InnoDB Hotbackup的免費替代品。
下面簡單的介紹下Xtrabackup的使用方法:
①安裝xtrabackup,到官網下載適合自己的Linux的版本的xtrabackup。有RPM包格式的可以自己下載,下載之後可以直接rpm –ivh 進行安裝。在安裝的過程中可能出現錯誤,我們需要解決相關的依賴的問題。
②開始進行mysql的備份。
建立備份的檔案夾
mkidr /backup
innobackupex –user=root –password=*** --host=*** /backup
資料庫完成備份完成。在備份完成之後,在 /backup檔案夾的下面會自動的建立以時間戳記為名字的備份檔案夾。在檔案夾中包括幾個檔案
backup-my.cnf--------------備份命令所用到的配置選項資訊。
xtrabackup_binlog_info---------備份時候所用到的二進位日誌,以及當備份的時候二進位的位置。
xtrabackup_checkpoints---------備份類型,備份狀態,備份範圍資訊(LSN日誌資訊號)。
xtrabackup_info-------------------備份資訊統計,比較有用,可以用來做即時點還原。
以及其他的資料資訊,不在一一的介紹了。
當完全備份完成以後,下面進行增量備份。
innobackupex –incremental /backup --incremental-basedir=/backup/****
note:此處的—incremental-basedir檔案指的是上次增量備份完之後的目錄。
③準備備份檔案
innobackupex –apply-log –redo-only /backup/*** /完全備份檔案目錄
innobackupex –apply-log –redo-only /backup/*** --incremental-dir=/backup/***-----à 增量目錄所在的位置。
可能有第二個,一次類推。
注意這裡只有—redo-only 參數,原因:在增量備份的過程中,那些個沒有提交的事務,可能已經提交完了。所以只是需要把交易記錄中的內容同步到資料檔案中去就好了。
④類比資料庫損壞
在這之前查看下當前的資料庫日誌用的是那個。並且把二進位記錄檔拷貝到一個安全的目錄下去。
cp /data/mydata/mysql-bin.00000* /backup/
service mysqld stop
rm –rf /data/mydata/*
killall mysqld ----à殺死全部的mysql進程。保證沒有mysql進程在運行了。
innobackupex –copy-back /backup/**** /主備份目錄,兩個增量的目錄就不用了,因為在備份目錄的準備過程中,已經把兩個目錄合并到了主目錄中去了。
當檔案考過來之後,更改資料目錄下的屬主和屬組
chown –R mysql.mysql /data/mydata/*
進行二進位日誌的還原。
首先開啟最後一個增量日誌的xtrabackup_info檔案。查看裡面的end-time,此時間作為二進位日誌開始還原的時間。
mysqlbinlog --start-datetime=’*****’ /backup/mysql-bin.00000* >/backup/1.sql
下面啟動mysql
service mysqld start
mysql </backup/1.sql ------------à進行二進位的完成還原,在還原的過程中,關閉二進位的記錄檔,在還原完畢之後,在開啟此功能。關閉的方法mysql> set sql_log_bin=0,開啟的時候把相應的值改為1就好了。
好了,innobackup還原mysql的方法先說到這。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
xtrabackup備份mysql資料庫