1)yum安裝方式:mysql
yuminstallhttp://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpmsql
yumlist | grep percona數據庫
yuminstall xtrabackupapp
2)apt安裝方式:ide
apt-keyadv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A測試
debhttp://repo.percona.com/apt VERSION mainspa
deb-srchttp://repo.percona.com/apt VERSION main.net
apt-getupdate線程
apt-getinstall percona-xtrabackup日誌
innobackupex--defaults-file=/etc/my.cnf --host=127.0.0.1 -port=3306 --user=root--password=123456 --slave-info --safe-slave-backup --no-timestamp /data/mysqlbak/2015.sql1717
參數說明:
--slave-info會將Master的binary log的文件名和偏移位置記錄打印出來,同時也保存到xtrabackup_slave_info文件中.
--safe-slave-backup會暫停Slave的SQL線程,等待到沒有打開的臨時表的時候開始備份.備份結束後SQL線程會自動啓動,這樣就能夠確保一致性的複製狀態.
--no-timestamp 是讓innobackupex別自動生成一個時間戳的目錄名/home/mysqlbak/2013***,而是存放在/home/mysqlbak/base
rm-rf /usr/local/mysql/data/* ;#測試環境刪除數據目錄
innobackupex --apply-log /data/mysqlbak/2015.sql1717 ;#準備
innobackupex --copy-back /data/mysqlbak/2015.sql1717 ;#恢復
chown-R mysql.mysql /usr/local/mysql/data ;#修改目錄權限
/etc/init.d/mysqlstart #啓動mysql
innobackupex部分備份,有如下三個參數可選擇:
1.--databases="database1[.table1] ..." 好比: --databases="employees sales.orders"
2.--tables-file=tables.txt, tables.txt 文件每一行有一個database.table
3.--include=regexp, 支持正則,好比: --include='^database(1|2)\.reports'
在準備」部分備份」和拷貝恢復」部分備份」到一個空的datadir以後,請確保datadir中有」mysql」數據庫,不然MySQL沒法啓動.
若是沒有,則須要先建立系統的數據庫再啓動。
進行第一次增量備份,須要在有一次完整備份的基礎上進行:
innobackupex --defaults-file=/etc/my.cnf --host=127.0.0.1-port=3306 --user=root --password=123456 --no-timestamp --incremental/data/mysqlbak/2015.sql1717-zengliang --incremental-basedir=/data/mysqlbak/2015.sql1717
333795
參數說明:
–incremental 指定增量備份存放的目標目錄
–incremental-basedir= 指定完整備份的目錄
#也能夠每次都基於全備作增量備份,而不是基於上一次的增備。
增量備份的還原操做跟完整的還原有點不同,首先必須使用–apply-log –redo-only對完整備份的目錄及全部增量備份目錄進行操做,而後就能夠像還原完整備份時的操做了。
1)準備全備的日誌
innobackupex --apply-log --redo-only --use-memory=4G /data/mysqlbak/2015.sql1717
2)把增量備份合併到全量備份中
innobackupex--defaults-file=/etc/mysql/my.cnf --host=127.0.0.1 -port=3306 --user=root --password=123456 --slave-info --safe-slave-backup --apply-log--use-memory=4G /data/mysqlbak/2015.sql1717 --incremental-dir=/data/mysqlbak/2015.sql1717-zengliang
3)把這個全備目錄拷貝到數據mysql數據目錄
innobackupex --copy-back /data/mysqlbak/2015.sql1717
--print-defaults 顯示默認選項。Xtrabackup默認狀況會去讀my.cnf文件,讀取順序是/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
--no-defaults 忽略任何my.cnf文件選項
--defaults-file=# 讀取指定的my.cnf文件
--defaults-extra-file=# 再讀取另一個文件
--target-dir=name 目的目錄,默認目錄在./xtrabackup_backupfiles/,相對於datadir目錄
--backup 備份
--stats 計算datadir目錄統計信息
--prepare 從backup 恢復
--export 在恢復時,建立文件導入到另外一個數據庫
--apply-log-only 在恢復時,中止恢復進程不進行LSN只使用log
--print-param 打印出參數
--use-memory=#buffer_pool_size值
--suspend-at-end 在備份時,建立xtrabackup_suspended文件,直到備份完成後刪掉
--throttle=# 限制IO總數
--log-stream 記錄標準輸出信息xtrabackup_logfile
--extra-lsndir=name 僅適用於backup,保存另外一份xtrabackup_checkpoints文件
--incremental-lsn=name 僅適用於backup,增量備份
--incremental-basedir=name 僅適用於backup,增量備份目錄
--incremental-dir=name 僅適用於prepare,恢復指定目錄下的.delta文件和日誌文件
--tables=name 過濾某些表
--tables_file=name 過濾database.table列表文件
--create-ib-logfile
-h,--datadir=name datadir目錄
-t,--tmpdir=name tmpdir目錄
--parallel=# 默認爲1.傳輸數據文件的並行線程數。沒有任何流模式的影響
--innodb_* 有關innodb參數