mysql備份和恢復測試(一)--xtrabackup
--下載xtranbackup2.0.6,這裡使用的是rpm安裝
http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.0.6/RPM/rhel5/x86_64/percona-xtrabackup-2.0.6-521.rhel5.x86_64.rpm
[root@tmg-73 soft]# rpm -ivh percona-xtrabackup-2.0.6-521.rhel5.x86_64.rpm
warning: percona-xtrabackup-2.0.6-521.rhel5.x86_64.rpm: Header V4 DSA signature: NOKEY, key ID cd2efd2a
Preparing... ########################################### [100%]
1:percona-xtrabackup ########################################### [100%]
--xtrabackup 備份和恢復測試
--1 建立測試環境
mysql> use study
mysql> create table t1 as select * from mysql.user;
mysql> insert into t1 select * from t1;
mysql> exit
--2 執行備份
[root@tmg-73 soft]# xtrabackup --help
[root@tmg-73 soft]# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/home/mysql/data/temp
--3 關閉mysql 服務:
[root@tmg-73 temp]# mysqladmin shutdown
--4 刪除資料檔案和innodb log
[root@tmg-73 mysql]# rm ib
ibdata1 ib_logfile0 ib_logfile1
[root@tmg-73 mysql]# rm -rf ib*
--5 使用xtrabackup 恢復資料
[root@tmg-73 mysql]# xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/home/mysql/data/temp
--6 將生成的檔案拷貝備份到/home1/mysql/data/mysql
[root@tmg-73 temp]# pwd
/home/mysql/data/temp
[root@tmg-73 temp]# cp ibdata1 /home1/mysql/data/mysql
[root@tmg-73 mysql]# chown mysql:mysql ibdata1
--使用innobackupex-1.5.1 備份和恢復
--innobackupex-1.5.1 工具是用PERL包裝過的”xtrabackup“,他不旦可以備份INNODB,還可以備份MYISAM等非事務資料庫;
[root@tmg-73 temp]# innobackupex-1.5.1 --help
[root@tmg-73 temp]# innobackupex-1.5.1 -user=root -password=zhong#123 -host=127.0.0.1 -port=3306 -slave-info -tmpdir=/home/mysql/data/temp -defaults-file=/etc/my.cnf /home/mysql/data/temp >/home/mysql/data/temp/xtrabk.log
注意:在備份過程中,把INNODB資料檔案備份完成後,會鎖住整個庫,並開始複製MYISAM等非事務引擎的資料和.frm;
--3 關閉mysql 服務:
[root@tmg-73 temp]# mysqladmin shutdown
--4 刪除資料檔案和innodb log
[root@tmg-73 mysql]# rm * -rf
--5 使用xtrabackup 全量恢復
--1 應用日誌
-- 這個過程主要是產生REDOLOG並將備份期間產生的REDO應用到資料檔案中;
-- xtrabackup 會啟動一個INNODB程式去做,與你當前在跑的不衝突
[root@tmg-73 mysql]# innobackupex-1.5.1 -apply-log /home/mysql/data/temp/2013-04-11_16-29-44/
--2 複製資料檔案到資料目錄
## 這個過程將恢復好的資料複製到my.cnf中指定的資料目錄中。 這時你需要把原有的例項停掉
[root@tmg-73 mysql]# innobackupex-1.5.1 -copy-back /home/mysql/data/temp/2013-04-11_16-29-44/
--啟動mysql服務報錯,結果檢視目錄是root
[root@tmg-73 mysql]# ll
total 1379736
drwxr-xr-x 2 root root 4096 Apr 11 17:02 bak245
drwxr-xr-x 2 root root 4096 Apr 11 17:01 dbact
drwxr-xr-x 2 root root 4096 Apr 11 17:02 dbslave
-rw-r--r-- 1 root root 1411383296 Apr 11 17:02 ibdata1
drwxr-xr-x 2 root root 4096 Apr 11 17:01 mysql
-rw-rw---- 1 mysql mysql 0 Apr 11 17:03 mysql-bin.index
drwxr-xr-x 2 root root 4096 Apr 11 17:02 performance_schema
drwxr-xr-x 2 root root 40960 Apr 11 17:02 qunle20
drwxr-xr-x 2 root root 4096 Apr 11 17:01 study
drwxr-xr-x 2 root root 4096 Apr 11 17:01 test
-rw-rw---- 1 mysql root 868 Apr 11 17:03 tmg-73.err
-rw-r--r-- 1 root root 23 Apr 11 17:01 xtrabackup_binlog_pos_innodb
-rw-r--r-- 1 root root 72 Apr 11 17:01 xtrabackup_slave_info
[root@tmg-73 mysql]# chown mysql:mysql * -R
重新修改所屬組,一切ok
--增量備份
--1,指定備份根目錄
[root@tmg-73 mysql]# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/home/mysql/data/temp/incr01/ --incremental-basedir=/home/mysql/data/temp/2013-04-11_17-39-33/
--在/home/mysql/data/temp/incr01將產生一些.delta資料檔案;
--恢復 (先恢復全量備份的日誌)
--用增量備份加入全量資料
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/home/mysql/data/temp/2013-04-11_17-39-33/
xtrabackup --target-dir=/home/mysql/data/temp/2013-04-11_17-39-33/ --prepare --incremental-dir=/home/mysql/data/temp/incr01/
--應用日誌
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/home/mysql/data/temp/2013-04-11_17-39-33/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23073818/viewspace-758306/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- 【MySQL】Xtrabackup備份及恢復指令碼MySql指令碼
- 【Xtrabackup】Xtrabackup全備、增量備份及恢復示例
- MySQL運維實戰之備份和恢復(8.1)xtrabackup全量備份MySql運維
- 【MySQL】MySQL備份和恢復MySql
- 使用Xtrabackup完整備份中恢復單表
- MySQL:xtrabackup備份MySql
- RMAN備份與恢復測試
- Mysql備份恢復MySql
- 基於percona xtrabackup 2.4.14的增量備份恢復還原mysql 5.6MySql
- 【PG備份恢復】pg_basebackup 多表空間備份恢復測試
- SqlServer 備份和恢復(一)SQLServer
- MySQL日誌管理,備份和恢復MySql
- MySQL備份和恢復方法彙總MySql
- MySQL 備份與恢復MySql
- MySQL入門--備份與恢復(一)MySql
- 備份和恢復
- Mysql備份與恢復(1)---物理備份MySql
- 阿里面試官:知道 MySQL 邏輯備份與恢復測試麼?阿里面試MySql
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- MySQL 非常規恢復與物理備份恢復MySql
- Mysql備份與恢復(2)---邏輯備份MySql
- KunlunDB備份和恢復
- redis 備份和恢復Redis
- 【PG備份恢復】pg_dump命令測試
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- 使用Xtrabackup遠端備份MysqlMySql
- 《入門MySQL—備份與恢復》MySql
- MySQL備份與恢復——實操MySql
- 入門MySQL——備份與恢復MySql
- docker 中 MySQL 備份及恢復DockerMySql
- MySQL備份與恢復操作解析MySql
- Mysql資料備份與恢復MySql
- SqlServer備份和恢復(二)SQLServer
- RAC備份恢復之Voting備份與恢復
- xtrabackup備份mysql“ib_logfile0 is ofMySql
- Mysql的幾種備份與恢復MySql
- Mysql資料庫備份及恢復MySql資料庫