參考:
使用
xtrabackup
來備份你的
mysql
一、
xtrabackup的基礎知識:
innodb
有個商業的
innodb hotbackup
,可以對
innodb
percona
出品的xtrabackup
,是innodb hotbackup
innodb/xtradb
引擎的表進行物理備份。
mysqldump
xtrabackup
是開源的
mysql
備份工具,物理備份,效率很不錯。
xtrabackup
有兩個主要的工具:
xtrabackup
、innobackupex
,其中xtrabackup
只能備份
innodb
和xtradb
兩種資料表,
innobackupex
則封裝了
xtrabackup
,同時可以備份
myisam
資料表。
xtrabackup
做備份的時候不能備份表結構、觸發器等等,智慧型紛紛
.idb
資料檔案。
另外innobackupex
還不能完全支援增量備份,需要和
xtrabackup
結合起來實現全備的功能。
網上看到的很多教程都是錯誤的,因此自己摸索實踐了下,記錄下來,希望對大家有所幫助!
二、
xtrabackup的安裝
1.環境:
centos release 5.564bit
2.獲取安裝包:
rpm:
#centos4.6
版本用這個
wget
#centos5.0
以上版本用這個
wget
編譯好的二進位製包:
wget
3.安裝:
rpm方式安裝:
rpm –ivh xtrabackup-0.9.5rc-50.rhel5.x86_64.rpm
編譯包的二進位製包方式安裝:
tar xzvf xtrabackup-0.9.tar.gz
cp xtrabackup-0.9/bin/* /usr/bin/
安裝完成以後覺得更改你的
/etc/my.cnf
配置檔案制定資料目錄,因為
xtrabackup
是根據你的
/etc/my.cnf
配置檔案來獲取你備份的檔案,比如在
/etc/my.cnf
的[mysqld]
下新增datadir=/data/dbdata/
,然後重啟
mysql
。三、
innobackupex的使用
ø正常備份:
innobackupex-1.5.1 --user=root --password=123 /home/db_backup/ 2>>/home/db_backup/db_backup.log
執行後會在
/home/db_backup
目錄下自動生成乙個備份目錄,比如
/home/db_backup/2010-12-29_20-22-39
ø正常還原:
/etc/rc.d/init.d/mysqld stop
rm –rf
/data/dbdata/*#生成
ib_logfile檔案#
還資料到
mysql
的資料目錄
innobackupex-1.5.1 -copy-back /home/db_backup/2010-12-29_20-22-39
#還原過去後預設是
root
許可權,因此修改屬組和屬主
chown –r mysql.mysql
/data/dbdata
/etc/rc.d/init.d/mysqld start
四、
innobackupex和
xtrabackup結合實現全被
+增量備份
備份:ø使用
innobackupex
做完全備份:
innobackupex-1.5.1--user=root--password=123456/home/db_backup/
假如備份後生成的目錄為:
2011-04-29_01-43-35
備份後可檢視檢查點的資訊:
cat xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0:0
to_lsn = 6:2510228502ø使用
xtrabackup
做增量備份:
xtrabackup --backup --target-dir=/home/db_backup/2 --incremental-basedir=/home/db_backup/2011-04-29_01-43-35/其中2
為增量備份的目錄
備份後檢視檢查點的資訊:
cat xtrabackup_checkpoints
backup_type = incremental
from_lsn = 6:2510228502
to_lsn = 6:2510228844
#可以看到增量備份是從全備的檢查點開始進行增量備份的!
還原:還原之前,停掉
mysqld
,然後清空資料目錄!恢復的順序不太一樣ø使用
innobackupex-1.5.1進行ø
使用xtrabackup
將增量備份應用到全備目錄
2011-05-02_21-01-24
中去xtrabackup --prepare --target-dir=/home/db_backup/2011-05-02_21-01-24/ --incremental-dir=/home/db_backup/2
增量備份應用以後,可以到
2011-05-02_21-01-24
目錄下去看下檢查點的資訊,比如:
backup_type = full-prepared
from_lsn = 0:0
to_lsn = 6:2510228844
# to_lsn = 6:2510228502
變成了6:2510228844ø使用
innobackupex-1.5.1
進行還原
innobackupex-1.5.1 --user=root--copy-back /home/db_backup/2011-05-02_21-01-24
執行這一步後,大功告成,呵呵!
參考鏈結
來自為知筆記(wiz)
xtrabackup備份說明
通過最簡單的備份事例,說明備份所包含的內容等資訊 xtrabackup backup target dir tmp backup指定用於備份,預設全備 target dir指定備份檔案目錄 生成備份目錄xtrabackup backupfiles cd xtrabackup backupfiles ...
xtrabackup 備份問題
個人認為percona 對mysql最大的貢獻就是它提供了mysql 的熱備份工具xtrabackup.對於v2版本中有乙個問題是 從備份檔案中恢復資料時,對於備份前新建立的表,是無法完全利用工具恢復.frm 式檔案。不過這並不影響使用 貌似網上有人已經做了修改 由於我們預設的儲存引擎是innodb...
xtrabackup 增量備份
xtrabackup 增量備份 1.完全備份準備資料夾 xtrabackup backup target dir backup base 2.進入mysql 修改資料 centos mysql mariadb hellodb use hellodb 修改資料庫 mariadb hellodb ins...