重慶思莊MySQL技術(shù)分享- xtrabackup備份工具
xtrabackup簡介
MySQL冷備、mysqldump、MySQL熱拷貝都無法實(shí)現(xiàn)對數(shù)據(jù)庫進(jìn)行增量備份。在實(shí)際生產(chǎn)環(huán)境中增量備份是非常實(shí)用的,如果數(shù)據(jù)大于50G或100G,存儲(chǔ)空間足夠的情況下,可以每天進(jìn)行完整備份,如果每天產(chǎn)生的數(shù)據(jù)量較大,需要定制數(shù)據(jù)備份策略。例如每周實(shí)用完整備份,周一到周六實(shí)用增量備份。而Percona-Xtrabackup就是為了實(shí)現(xiàn)增量備份而出現(xiàn)的一款主流備份工具。
Xtrabackup是一個(gè)對InnoDB做數(shù)據(jù)備份的工具,支持在線熱備份(備份時(shí)不影響數(shù)據(jù)讀寫),是商業(yè)備份工具InnoDB Hotbackup的一個(gè)很好的替代品。
它能對InnoDB和XtraDB存儲(chǔ)引擎的數(shù)據(jù)庫非阻塞地備份(對于MyISAM的備份同樣需要加表鎖)。XtraBackup支持所有的Percona Server、MySQL、MariaDB和Drizzle。
xtrabackup有兩個(gè)主要的工具:xtrabackup、innobackupex
Innobackupex完整備份后生成幾個(gè)重要文件
文件? ? 文件用途
xtrabackup_binlog_info? ? 記錄當(dāng)前最新的LOG Position,在備份的那一刻服務(wù)器二進(jìn)制所處的位置,通過SHOW MASTER STATUS獲取
xtrabackup_binlog_pos_innodb? ? InnoDB表或XtraDB當(dāng)前所處的二進(jìn)制位置,與InnoDB事務(wù)相關(guān)
xtrabackup_checkpoints? ? 存放備份的起始位置beginlsn和結(jié)束位置endlsn,增量備份需要這個(gè)lsn[增量備份可以在這里面看from和to兩個(gè)值的變化]
xtrabackup_logfile? ? 在備份過程中拷貝的事務(wù)日志,用于預(yù)還原