成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解xtrabackup對MySQL進行備份和恢復的全過程

數據庫 MySQL
本文我們詳細介紹了使用xtrabackup對MySQL進行備份和恢復全部過程,包括完整備份、打包、增量備份以及完整備份恢復和增量備份恢復的過程,希望能夠對您有所幫助。

MySQL數據庫的備份與恢復是非常有必要的,它可以用很多種方法來實現,本文我們主要介紹了使用Xtrabackup來進行備份的全部過程,接下來就讓我們一起來了解一下這部分內容。

Xtrabackup是percona公司的開源項目,用以實現類似innodb官方的熱備份工具InnoDB Hot Backup的功能,能夠非常快速地備份與恢復mysql數據庫。 Xtrabackup中包含兩個工具:

xtrabackup是用于熱備份innodb, xtradb表中數據的工具,不能備份其他類型的表,也不能備份數據表結構;

innobackupex是將xtrabackup進行封裝的perl腳本,提供了備份myisam表的能力。

由于innobackupex的功能更為全面和完善,所以,本文以innobackupex作為基礎進行研究描述。

下載和安裝

在以下地址可以下載到xtrabackup:http://www.percona.com/downloads/XtraBackup/,可以根據自己的需要選擇穩定版本或者最新版本以及操作系統、源碼包或者rpm包等等。

我下載到的是xtrabackup-1.6.tar,是一個二進制壓縮包,解壓后可直接使用。

將下載到的文件包進行解壓tar zxvf xtrabackup-1.6.tar,然后在/usr/bin中建立相關應用的鏈接:

  1. ln -s /usr/bin/innobackupex /root/xtrabackup-1.6/bin/innobackupex    
  2. ln -s /usr/bin/xtrabackup /root/xtrabackup-1.6/bin/xtrabackup    
  3. ln -s /usr/bin/xtrabackup_51 /root/xtrabackup-1.6/bin/xtrabackup_51    
  4. ln -s /usr/bin/tar4ibd /root/xtrabackup-1.6/bin/tar4ibd  

其中,

innobackupex是我們要使用的備份工具;

xtrabackup是被封裝在innobackupex之中的,innobackupex運行時需要調用它;

xtrabackup_51是xtrabackup運行時需要調用的工具;

tar4ibd是以tar流的形式產生備份時用來打包的工具。

進行備份

完整備份:

innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --database=test /mysqlbackup/  

其中,--user指定連接數據庫的用戶名,--password指定連接數據庫的密碼,--defaults-file指定數據庫的配置文件,innobackupex要從其中獲取datadir等信息;--database指定要備份的數據庫,這里指定的數據庫只對MyISAM表和InnoDB表的表結構有效,對于InnoDB 數據來說都是全備(所有數據庫中的InnoDB數據都進行了備份,不是只備份指定的數據庫,恢復時也一樣);/mysqlbackup是備份文件的存放位置。

完整備份并打包:

innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --database=test --stream=tar /mysqlbackup > /mysqlbackup/dbbackup20110809.tar  

其中,--stream指定流的格式,目前只支持tar。

完整備份并打包壓縮:

innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --database=test --stream=tar /mysqlbackup/ | gzip /mysqlbackup/dbbackup20110809.tar.gz  

完整備份到遠程主機: 

innobackupex --user=root --password= MySQLPASSWORD --defaults-file=/etc/my.cnf --database=test --stream=tar /mysqlbackup | ssh root@remote-host cat ">"   /mysqlbackup/dbbackup20110809.tar  

增量備份:

innobackupex --user=root --password=MySQLPASSWORD --database=test --incremental --incremental-basedir=/mysqlbackup/2011-08-09_14-50-20/ /mysqlbackup/trn/  

其中,--incremental指明是增量備份,--incremental-basedir指定上次完整備份或者增量備份文件的位置。這里的增量備份其實只針對的是InnoDB,對于MyISAM來說,還是完整備份。

進行恢復

完整備份恢復:

在進行恢復前,如果完整備份在遠程主機上,首先將完整備份復制到本地主機上,如果是tar包,則需要先解包,解包命令為:tar –izxvf dbbackup20110809.tar,這里必須使用-i參數。然后停止mysql數據庫并刪除欲恢復的數據庫文件夾,如:

service mysql stop  

rm /var/lib/mysql/test –rf  

然后將備份文件中的日志應用到備份文件中的數據文件上。

innobackupex --user=root --password=MySQLPASSWORD --apply-log /mysqlbackup/full/2011-08-09_14-50-20/  

這里的--apply-log指明是將日志應用到數據文件上,完成之后將備份文件中的數據恢復到數據庫中:

innobackupex --user=root --password=MySQLPASSWORD --copy-back /mysqlbackup/full/2011-08-09_14-50-20/  

這里的—copy-back指明是進行數據恢復。數據恢復完成之后,需要修改相關文件的權限mysql數據庫才能正常啟動。

  1. chown mysql:mysql /var/lib/mysql/ib*    
  2. chown mysql:mysql /var/lib/mysql/test    
  3. service mysql start  

注意:這里我雖然指定的是test數據庫,但實際上如果其他數據庫中也有InnoDB表,那么這些InnoDB表中的數據也會被恢復了。

增量備份恢復:

增量備份恢復的步驟和完整備份恢復的步驟基本一致,只是應用日志的過程稍有不同。增量備份恢復時,是先將所有的增量備份挨個應用到完整備份的數據文件中,然后再將完整備份中的數據恢復到數據庫中。命令如下:

應用第一個增量備份

innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --apply-log /mysqlbackup/full/2011-08-09_14-50-20/ --incremental-dir=/mysqlbackup/trn/2011-08-09_15-12-43/  

應用第二個增量備份

innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --apply-log /mysqlbackup/full/2011-08-09_14-50-20/ --incremental-dir=/mysqlbackup/trn/2011-08-05_15-15-47/  

將完整備份中的數據恢復到數據庫中。

innobackupex --user=root --password=MySQLPASSWORD --defaults-file=/etc/my.cnf --copy-back /mysqlbackup/full/2011-08-05_14-50-20/  

其中,--incremental-dir指定要恢復的增量備份的位置。

以上就是使用xtrabackup對MySQL進行備份和恢復的全部過程,本文就介紹到這里了,如果您想了解更多關于MySQL數據庫的知識,可以看一下這里的文章:http://database.51cto.com/mysql/,相信一定可以給您帶來幫助的!

【編輯推薦】

  1. MySQL數據庫中varchar的限制規則
  2. MySQL數據庫負荷較高時的原因排查思路
  3. MySQL簡單操作之alter table改變表的結構
  4. MySQL簡單操作之用select查詢表中的記錄
  5. 六條比較有用的MySQL數據庫操作的SQL語句
責任編輯:趙鵬 來源: CSDN博客
相關推薦

2011-09-06 15:38:20

QT安裝

2019-05-14 15:27:31

MongoDB自動備份數據庫

2010-03-10 13:24:45

Zend Debugg

2009-11-02 14:53:30

Oracle創建用戶權

2011-04-18 15:56:10

軟件測試

2011-02-22 10:46:02

Samba配置

2024-08-27 08:00:00

2023-01-11 08:05:23

XtraBackupMySQL備份

2024-07-16 08:31:41

2015-06-08 09:43:18

青云QingCloudIDC

2015-07-08 09:57:59

Git服務器分步詳解

2009-12-08 17:56:16

WCF配置

2011-01-21 17:51:52

2009-04-13 12:37:18

2009-04-23 10:04:55

2011-04-02 09:20:23

freebsdmrtg安裝

2010-05-26 13:50:15

MySQL備份

2010-06-11 13:15:07

UML軟件

2017-04-25 18:03:11

Caffe深度學習框架

2010-03-01 17:01:03

Python編程技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 可以在线观看av的网站 | 国产欧美日韩综合精品一区二区 | h片在线看 | 欧美日韩高清 | 日本久久黄色 | 欧美精品一区二区三区蜜桃视频 | 色综合色综合网色综合 | 日韩a在线 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 欧美一区二区三区精品免费 | 亚洲精品中文字幕在线观看 | 成人免费在线视频 | 久久久久久成人网 | 天天干天天爱天天操 | 中文字幕国产一区 | 激情网五月天 | 欧美v免费| 日韩精品一区二区三区免费视频 | 99精品久久久国产一区二区三 | 一级黄色片免费在线观看 | 国产精品精品久久久 | 91xx在线观看| 国产精品久久久久久婷婷天堂 | 久久精品中文字幕 | www.久久久久久久久 | 四虎成人精品永久免费av九九 | 国产精品99久久久久久大便 | 国产高清一区二区 | 亚洲第一在线视频 | 午夜tv免费观看 | 一区二区三区免费 | 日韩一区二区三区在线观看 | 久久亚洲视频 | 男人天堂久久久 | 免费视频成人国产精品网站 | 日韩欧美精品 | 黄色大片免费网站 | 久久国产精品99久久久大便 | 日本精品一区二区三区在线观看 | 国产精品久久久久久影视 | 天堂亚洲网 |