(轉)使用Xtrabackup備份MySQL資料庫(續)
作者:NinGoo | 【轉載須以超連結形式標明文章原始出處和作者資訊】
原文:
在裡,演示了使用xtrabackup對InnoDB進行線上物理熱備,使用innobackupex指令碼,可以很簡單的一條命令列搞定InnoDB和MyISAM的物理備份。
本文則演示如何從xtrabackup的備份中進行恢復。本次恢復的是一個600GB大小的InnoDB資料庫,備份的時候沒有使用gzip壓縮。
首先將備份好的tar檔案解開到目標資料庫的資料路徑下,這一步類似oracle的restore database:
[@more@]tar -ixvf mysqlbak.tar /opt/mysqldata
(注意這裡一定要加i引數,不然無法解壓出來)
注意解出來的檔案和目錄的屬主以及許可權是否正確。如果是將備份恢復到一臺全新的環境,則需要修改/etc/my.cnf,將innodb_data_file_path等引數設定和原備份的庫一致。然後執行:
$innobackupex-1.5.1 --apply-log /opt/mysqldata
這一步類似於oracle的recover database,從日誌來看,差不多一個小時執行完畢,該InnoDB資料庫分配空間600GB,實際使用空間約590GB,並且資料的更新量還是比較大的,大約一個小時apply-log完成。執行的日誌簡單記錄如下:
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackup
prints "innobackup completed OK!".
090708 09:50:44 innobackupex: Starting ibbackup with command:
xtrabackup --prepare --target-dir=/opt/mysqldata
xtrabackup Ver rc-0.7 for 5.0.77 unknown-linux-gnu (x86_64)
xtrabackup: cd to /opt/mysqldata
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=2882535424, start_lsn=(514 2288109039)
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10000M;ibdata2:10000M;ibdata3:10000M...;ibdata60:10000M
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = 2882535424
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: Log scan progressed past the checkpoint lsn 514 2288109039
090708 9:50:45 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Doing recovery: scanned up to log sequence number 514 2293351424 (0 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2298594304 (0 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2303837184 (0 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2309080064 (0 %)
090708 9:50:47 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Doing recovery: scanned up to log sequence number 514 2314322944 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2319565824 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2324808704 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2330051584 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2335294464 (1 %)
...這裡省略若干行
InnoDB: Doing recovery: scanned up to log sequence number 514 3881944064 (62 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 3887186944 (62 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 3887732530 (62 %)
090708 10:52:00 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: In a MySQL replication slave the last master binlog file
InnoDB: position 0 350504077, file name mysql-bin.000748
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015
090708 10:52:17 InnoDB: Started; log sequence number 514 3887732530
[notice (again)]
If you use binary log and don't use any hack of group commit,
the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
090708 10:52:17 InnoDB: Starting shutdown...
090708 10:52:24 InnoDB: Shutdown completed; log sequence number 514 3887732530
090708 10:52:24 innobackupex: Restarting xtrabackup with command:
xtrabackup --prepare --target-dir=/opt/mysqldata
for creating ib_logfile*
xtrabackup Ver rc-0.7 for 5.0.77 unknown-linux-gnu (x86_64)
xtrabackup: cd to /opt/mysqldata
xtrabackup: This target seems to be already prepared.
xtrabackup: notice: xtrabackup_logfile was already used to '--prepare'.
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10000M;ibdata2:10000M;ibdata3:10000M;...;ibdata60:10000M
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 4
xtrabackup: innodb_log_file_size = 104857600
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
090708 10:52:25 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
090708 10:52:25 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
090708 10:52:26 InnoDB: Log file ./ib_logfile2 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile2 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
090708 10:52:26 InnoDB: Log file ./ib_logfile3 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile3 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
090708 10:52:27 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: In a MySQL replication slave the last master binlog file
InnoDB: position 0 350504077, file name mysql-bin.000748
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015
090708 10:52:27 InnoDB: Started; log sequence number 514 3887732748
[notice (again)]
If you use binary log and don't use any hack of group commit,
the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
090708 10:52:27 InnoDB: Starting shutdown...
090708 10:52:29 InnoDB: Shutdown completed; log sequence number 514 3887732748
090708 10:52:29 innobackupex: innobackup completed OK!
執行完畢後,啟動mysql即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/124805/viewspace-1026862/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- (轉)使用Xtrabackup備份MySQL資料庫MySql資料庫
- 使用Xtrabackup備份mysql資料庫MySql資料庫
- 配置xtrabackup備份mysql資料庫MySql資料庫
- 使用 xtrabackup 進行MySQL資料庫物理備份MySql資料庫
- mysql資料庫xtrabackup壓縮備份測試MySql資料庫
- 建立MySQL資料庫備份的好工具:XtraBackupMySql資料庫
- MySQL DBA備份工具Xtrabackup使用指南(轉)MySql
- MySQL:xtrabackup備份MySql
- XtraBackup備份MySQLMySql
- 使用Xtrabackup遠端備份MysqlMySql
- Mysql 物理備份工具xtrabackup的使用MySql
- xtrabackup備份mysql innodbMySql
- 使用innobackupex備份mysql資料庫MySql資料庫
- 轉享:使用Xtrabackup實現MySQL備份和還原。MySql
- mysql 資料庫 備份MySql資料庫
- mysql 資料庫備份MySql資料庫
- 《mysql資料庫備份小指令碼》(轉)MySql資料庫指令碼
- MySQL · 物理備份 · Percona XtraBackup 備份原理MySql
- 【MySql】 MySql備份工具Xtrabackup之二MySql
- 【MySql】 MySql備份工具Xtrabackup之一MySql
- 使用MySQL Workbench進行資料庫備份MySql資料庫
- Percona Xtrabackup 快速備份 MySQLMySql
- mysql innobackupex xtrabackup 大資料量 備份 還原MySql大資料
- innobackupex 備份MySQL資料庫MySql資料庫
- mysql 備份資料庫 mysqldumpMySql資料庫
- Xtrabackup實現資料庫備份和災難恢復資料庫
- 使用xtrabackup對mysql進行備份和恢復MySql
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- MySQL資料庫備份工具Mydumper使用介紹MySql資料庫
- XtraBackup 2.2.8 釋出,MySQL 備份工具MySql
- 最簡便的備份MySql資料庫方法(轉)MySql資料庫
- MySQL資料庫的基本備份MySql資料庫
- 1. 備份MySQL資料庫MySql資料庫
- Mysql資料庫自動備份MySql資料庫
- 備份mysql資料庫報告MySql資料庫
- mysql資料庫備份命令大全MySql資料庫
- 使用RMAN備份資料庫資料庫
- 使用mysqldump進行mysql資料庫備份還原MySql資料庫