Xtrabackup 熱備份與還原備份前特別提醒:
1. 在備份的MySQL數(shù)據(jù)庫(kù)的my.cnf文件中,必須加入datadir={PATH},否則找不到備份數(shù)據(jù)的路徑. 2. 在備份過(guò)程中,把INNODB數(shù)據(jù)文件備份完成后,,會(huì)鎖住整個(gè)庫(kù),,并開(kāi)始復(fù)制MYISAM等非事務(wù)引擎的數(shù)據(jù)和.frm;這個(gè)對(duì)于我們的系統(tǒng)來(lái)說(shuō),只需1-2秒就能完成
A. 全庫(kù)備份詳解 命令: innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql3/my.cnf /home/mysql-server/backup 參數(shù)說(shuō)明: innobackupex-1.5.1:為封裝Xtrabackup的perl腳本.因?yàn)?/SPAN>Xtranbackup本身不能備份MyISAM表.使用這個(gè)自帶的腳本.就可以一起備份了. User : 連接數(shù)據(jù)庫(kù)的用戶(hù)名 Password: 連接數(shù)據(jù)庫(kù)的密碼 Database: 需要備份的數(shù)據(jù)庫(kù) Defaults-file:備份數(shù)據(jù)庫(kù)的配置文件路徑 /home/mysql-server/backup: 這個(gè)是自己定義一個(gè)備份文件存放的路徑 注: --slave-info: 在備機(jī)上加入此參數(shù)可以記錄master 的pos點(diǎn) B1.增量備份詳解 命令:(第一次增量備份) innobackupex-1.5.1 --user=root--password=root --database=total2 --defaults-file=/home/mysql-server/mysql3/my.cnf–incremental --incremental-basedir=/home/mysql-server/backup/2012-02-21_20-14-05 /home/mysql-server/backup/ 參數(shù)說(shuō)明: –incremental : 代表這個(gè)備份為增量備份.
--incremental-basedir: 指定前次完全備份或者增量備份文件的位置,。這里的增量備份其實(shí)只針對(duì)的是InnoDB,,對(duì)于MyISAM來(lái)說(shuō),還是完全備份,。(這里的/home/mysql-server/backup/2012-02-21_20-14-05是指完整備份的路徑.寫(xiě)上這個(gè)路徑.Xtrabackup會(huì)根據(jù)上次備份的LSN進(jìn)行增量備份)
/home/mysql-server/backup/ :這個(gè)是自己定義一個(gè)備份文件存放的路徑(例如:最后備份的生成文件名為2012-02-21_20_50_04) B2.增量備份詳解 命令:(第二次增量備份) innobackupex-1.5.1--user=root --password=root --database=total2 --defaults-file=/home/mysql-server/mysql3/my.cnf--incremental --incremental-basedir=/home/mysql-server/backup/2012-02-21_20_50_04 /home/mysql-server/backup/ 參數(shù)說(shuō)明: --incremental-basedir:可以看著,這次增量備份的文件名是,第一次增量備份的文件名(會(huì)得到第一次增量備份的LSN繼續(xù)備份) C.數(shù)據(jù)庫(kù)整庫(kù)還原 還原時(shí),特特別別,特別特別注意… #===================================================== 要?jiǎng)h除要還原數(shù)據(jù)庫(kù)datadir指定路徑下的所有數(shù)據(jù).必須是一個(gè)空的文件. 就算你的系統(tǒng)庫(kù)在里面,,就把系統(tǒng)相關(guān)的庫(kù)先mv 出來(lái).例如:mysql,performance_schema,test 然后在還原 #======================================================== 命令1: innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql2/my.cnf --apply-log /home/mysql-server/backup/2012-02-21_20-14-05 參數(shù)說(shuō)明: Apply-log: 因?yàn)樵趥浞莸臅r(shí)候是在線(xiàn)的,如果有新插入的SQL語(yǔ)句,會(huì)記錄新增加的LSN點(diǎn),然后放會(huì)放到備份文件的xtrabackup_logfile中,還原的時(shí)候使用--apply-log來(lái)釋放熱備份修改的頁(yè)面,放到表空間中.
/home/mysql-server/backup/2012-02-21_20-14-05:這個(gè)肯定就是指?jìng)浞菸募穆窂搅?/SPAN>.
命令2: innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql2/my.cnf --copy-back/home/mysql-server/backup/2012-02-21_20-14-05 參數(shù)說(shuō)明: copy-back :這個(gè)參數(shù)就代表還原了.
#======================================================================= 1. 把先備份的系統(tǒng)庫(kù)MV到原來(lái)的地方 2. 修改data目錄的權(quán)限(如果你設(shè)置的是已MySQL用戶(hù)訪(fǎng)問(wèn)的話(huà)) chown-R mysql.mysql data # =========================================================================
D.增量還原 特別注意 # ========================================================= 這個(gè)我認(rèn)為有點(diǎn)變態(tài),設(shè)計(jì)的不太好.還原的時(shí)候破壞了原來(lái)完整備份的原始性. 雖然這個(gè)對(duì)以后的還原沒(méi)什么影響.但是對(duì)于想保存最初備份文件的同事來(lái)說(shuō)就要注意了. # ========================================================== 如果有多個(gè)增量備份的文件.先執(zhí)行第一開(kāi)始備份的那個(gè)增量備份文件(這樣才能跟最早的完整備份的LSN連接的上)
1. 釋放全部備份的--apply-log文件 命令: innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql2/my.cnf --apply-log /home/mysql-server/backup/2012-02-22_04-06-45 這時(shí)釋放之后,釋放的數(shù)據(jù)會(huì)進(jìn)入備份文件夾里面的表空間.
2. 釋放第一個(gè)增量備份文件(完整備份文LOG件與增量備份文件LOG關(guān)聯(lián)起來(lái)) 命令: innobackupex-1.5.1--user=root --password=root --database=total2 --defaults-file=/home/mysql-server/mysql2/my.cnf --apply-log /home/mysql-server/backup/2012-02-22_04-06-45--incremental-dir=/home/mysql-server/backup/2012-02-22_04-27-32 命令詳解: --incremental-dir: 為第一個(gè)增量備份的路徑 /home/mysql-server/backup/2012-02-22_04-06-45:為整庫(kù)備份的路徑 這時(shí)第一個(gè)增量備份的數(shù)據(jù)會(huì)全部進(jìn)入完整備份的表空間里面.
3. 釋放第二個(gè)增量備份文件 命令: innobackupex-1.5.1 --user=root--password=root --database=total2 --defaults-file=/home/mysql-server/mysql2/my.cnf --apply-log /home/mysql-server/backup/2012-02-22_04-06-45--incremental-dir=/home/mysql-server/backup/2012-02-22_05-11-32 命令詳解: --incremental-dir: 為第二個(gè)增量備份的路徑 /home/mysql-server/backup/2012-02-22_04-06-45:為整庫(kù)備份的路徑 這時(shí)第二個(gè)增量備份的數(shù)據(jù)會(huì)全部進(jìn)入完整備份的表空間里面.
4. 還原數(shù)據(jù)庫(kù) innobackupex-1.5.1 --user=root--password=root --database=total2--defaults-file=/home/mysql-server/mysql2/my.cnf --copy-back/home/mysql-server/backup/2012-02-22_04-06-45
但最后依然記住… # ======================================================================= 把先備份的系統(tǒng)庫(kù)MV到原來(lái)的地方 修改data目錄的權(quán)限(如果你設(shè)置的是已MySQL用戶(hù)訪(fǎng)問(wèn)的話(huà)) chown-R mysql.mysql data #========================================================================= 在啟動(dòng)mysqlserver..
# 增量備份還原完成 |
|