Xtrabackup------MySQL DBA的必備工具
注意:
1)文檔參照http://www.percona.com/docs/wiki/percona-xtrabackup:start
2)mysql要使用5.1.50版本或以上。
一、Xtrabackup簡介及安裝
1、Xtrabackup 是percona的一個開源項目,可以熱備份innodb ,XtraDB,和MyISAM(會鎖表),可以看做是InnoDB Hotbackup的免費替代品。
Percona Support for MySQL
| Benefit | Silver (Per Server) | Gold (Unlimited) | Platinum (Unlimited) |
|---|---|---|---|
| Annual Price | $1,500/server | From $15,000 | From $30,000 |
| Number of Servers Covered | Per-Server | Unlimited | Unlimited |
| Number of Support Incidents | Unlimited | Unlimited | Unlimited |
| Response Time SLA | 60 Minutes | 30 Minutes | 30 Minutes |
| Named Support Contact Persons | 5 | 10 | 20 |
| Email, Web, & Chat Support | |||
| Phone Support | |||
| Login Support | |||
| 24×7 Support | |||
| Fixes For Verified Bugs | |||
| Hot Bug Fixes | |||
| Onsite System Audit | Option | ||
| Covers Old Server Versions | |||
| Covers Non-Standard Platforms | Option | ||
| Covers Custom Code | Option |
參考:http://www.percona.com/mysql-support/
先看看如何安裝Xtrabackup,最簡單的安裝方式是使用RPM包,不過想使用源代碼方式安裝的話,其安裝方式有點古怪,因為它采用的在MySQL源代碼上打補丁構建的方式安裝的。
2、安裝:
wget http://www.percona.com/downloads/XtraBackup/XtraBackup-1.4/Linux/binary/i686/
tar zxf xtrabackup-1.4.tar.gz
cd xtrabackup-1.4
./configure
make
進行到這里時,千萬別make install,那樣就會接著安裝MySQL了,正確方法是:
cd innobase/xtrabackup/
make
make install
安裝參照:http://www.percona.com/docs/wiki/percona-xtrabackup:installation:from-source
3、如此一來,就會在/usr/bin目錄里安裝上兩個有用的工具:xtrabackup、innobackupex
1)xtrabackup 只能備份InnoDB和XtraDB兩種數據表,支持在線熱備份,可以在不加鎖的情況下備份Innodb數據表,不過此工具不能操作Myisam引擎表
2)innobackupex 是一個腳本封裝,封裝了xtrabackup,能同時處理Innodb和Myisam,但在處理Myisam時需要加一個讀鎖。
按如上的介紹,由于操作Myisam時需要加讀鎖,這會堵塞線上服務的寫操作,而Innodb沒有這樣的限制,所以數據庫中Innodb表類型所占的比例越大,則越有利。實際應用中一般是直接使用innobackupex方法,它主要有三種操作方式,按手冊中的介紹:
Usage:
innobackup [--sleep=MS] [--compress[=LEVEL]] [--include=REGEXP] [--user=NAME]
[--password=WORD] [--port=PORT] [--socket=SOCKET] [--no-timestamp]
[--ibbackup=IBBACKUP-BINARY] [--slave-info] [--stream=tar]
[--defaults-file=MY.CNF]
[--databases=LIST] [--remote-host=HOSTNAME] BACKUP-ROOT-DIR
innobackup --apply-log [--use-memory=MB] [--uncompress] [--defaults-file=MY.CNF]
[--ibbackup=IBBACKUP-BINARY] BACKUP-DIR
innobackup --copy-back [--defaults-file=MY.CNF] BACKUP-DIR
――――――――――――――――――――――――――――――――――
第一個命令行是熱備份mysql數據庫。
帶有--apply-log選項的命令是準備在一個備份上啟動mysql服務。
帶有--copy-back選項的命令從備份目錄拷貝數據,索引,日志到my.cnf文件里規定的初始位置。
Xtrabackup還可以用來moving InnoDB tables between servers,更多的內容可以參考官方文檔及例子。
參考鏈接:
1.官方文檔:http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup_manual
2.Xtrabackup online backup for InnoDB/XTraDB(pdf):
http://www.percona.com/ppc2009/PPC2009_xtrabackup.pdf
注:innobackupex會根據/et/my.cnf來確定MySQL的數據位置。
1.普通備份:
innobackupex [--defaults-file=/etc/my.cnf] --user=root [--host=192.168.1.52] [--password=xxx] [--port=3306] /data/back_data/ 2>/data/back_data/1.log
備份的目錄是/data/back_data/,這里的2>/data/back_data/1.log,是將備份過程中的輸出信息重定向到1.log
innobackupex-1.5.1 主站蜘蛛池模板: 蓝山县| 左贡县| 阳山县| 高邮市| 织金县| 连平县| 昌黎县| 西贡区| 霍山县| 大竹县| 宜良县| 隆子县| 江油市| 贵溪市| 金溪县| 舒兰市| 富源县| 寻甸| 苍山县| 塔河县| 巴南区| 凌海市| 新野县| 彭阳县| 南安市| 惠来县| 汕尾市| 通海县| 无棣县| 青冈县| 灵丘县| 乌鲁木齐市| 资阳市| 威远县| 民权县| 玉树县| 巴林左旗| 汉寿县| 布尔津县| 南平市| 沂南县|