Xtrabackup 熱備份與還原

來源:互聯網
上載者:User

備份前特別提醒:

1. 在備份的MySQL資料庫的my.cnf檔案中,必須加入datadir={PATH},否則找不到備份資料的路徑.

2. 在備份過程中,把INNODB資料檔案備份完成後,會鎖住整個庫,並開始複製MYISAM等非事務引擎的資料和.frm;這個對於我們的系統來說,只需1-2秒就能完成

A.     全庫備份詳解

命令:

innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql3/my.cnf /home/mysql-server/backup

參數說明:

innobackupex-1.5.1:為封裝Xtrabackup的perl指令碼. 因為Xtranbackup本身不能備份MyISAM表.使用這個內建的指令碼.就可以一起備份了.

User : 串連資料庫的使用者名稱

Password: 串連資料庫的密碼

Database: 需要備份的資料庫

Defaults-file:備份資料庫的設定檔路徑

/home/mysql-server/backup: 這個是自己定義一個備份檔案存放的路徑

注: --slave-info: 在備機上加入此參數可以記錄master 的pos點


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/

參數說明:

–incremental : 代表這個備份為增量備份.

--incremental-basedir: 指定前次完全備份或者增量備份檔案的位置。www.bkjia.com 這裡的增量備份其實只針對的是InnoDB,對於MyISAM來說,還是完全備份。(這裡的/home/mysql-server/backup/2012-02-21_20-14-05是指完整備份的路徑.寫上這個路徑.Xtrabackup會根據上次備份的LSN進行增量備份)

/home/mysql-server/backup/ :這個是自己定義一個備份檔案存放的路徑(例如:最後備份的組建檔案名為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/

參數說明:

--incremental-basedir:可以看著,這次增量備份的檔案名稱是,第一次增量備份的檔案名稱(會得到第一次增量備份的LSN繼續備份)


C.資料庫整庫還原

還原時,特特別別,特別特別注意…

#=====================================================

要刪除要還原資料庫datadir指定路徑下的所有資料.必須是一個空的檔案.

就算你的系統庫在裡面,就把系統相關的庫先mv 出來.例如: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

參數說明:

Apply-log: 因為在備份的時候是線上的,如果有新插入的SQL語句,會記錄新增加的LSN點,然後放會放到備份檔案的xtrabackup_logfile 中,還原的時候使用--apply-log 來釋放熱備份修改的頁面,放到資料表空間中.

/home/mysql-server/backup/2012-02-21_20-14-05:這個肯定就是指備份檔案的路徑了.

命令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

參數說明:

copy-back :這個參數就代表還原了.

#=======================================================================

1.     把先備份的系統庫MV到原來的地方

2.     修改data目錄的許可權(如果你設定的是已MySQL使用者訪問的話)

     chown-R mysql.mysql data

# =========================================================================

  • 1
  • 2
  • 下一頁

相關關鍵詞:
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.