欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

xtrabackup使用詳解

原理:

創(chuàng)新互聯(lián)建站專注于溧水企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。溧水網(wǎng)站建設(shè)公司,為溧水等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

    在InnoDB內(nèi)部會維護(hù)一個(gè)redo日志文件,我們也可以叫做事務(wù)日志文件。事務(wù)日志會存儲每一個(gè)InnoDB表數(shù)據(jù)的記錄修改。當(dāng)InnoDB啟動時(shí),InnoDB會檢查數(shù)據(jù)文件和事務(wù)日志,并執(zhí)行兩個(gè)步驟:它應(yīng)用(前滾)已經(jīng)提交的事務(wù)日志到數(shù)據(jù)文件,并將修改過但沒有提交的數(shù)據(jù)進(jìn)行回滾操作。

    Xtrabackup在啟動時(shí)會記住log sequence number(LSN),并且復(fù)制所有的數(shù)據(jù)文件。復(fù)制過程需要一些時(shí)間,所以這期間如果數(shù)據(jù)文件有改動,那么將會使數(shù)據(jù)庫處于一個(gè)不同的時(shí)間點(diǎn)。這時(shí),xtrabackup會運(yùn)行一個(gè)后臺進(jìn)程,用于監(jiān)視事務(wù)日志,并從事務(wù)日志復(fù)制最新的修改。Xtrabackup必須持續(xù)的做這個(gè)操作,是因?yàn)槭聞?wù)日志是會輪轉(zhuǎn)重復(fù)的寫入,并且事務(wù)日志可以被重用。所以xtrabackup自啟動開始,就不停的將事務(wù)日志中每個(gè)數(shù)據(jù)文件的修改都記錄下來。上面就是xtrabackup的備份過程。

接下來是準(zhǔn)備(prepare)過程。在這個(gè)過程中,xtrabackup使用之前復(fù)制的事務(wù)日志,對各個(gè)數(shù)據(jù)文件執(zhí)行災(zāi)難恢復(fù)(就像MySQL剛啟動時(shí)要做的一樣)。當(dāng)這個(gè)過程結(jié)束后,數(shù)據(jù)庫就可以做恢復(fù)還原了。

過程是備份---->準(zhǔn)備。就是說:先將文件全部復(fù)制過來,再根據(jù)事務(wù)日志對部分操作進(jìn)行回滾。

以上的過程在xtrabackup的編譯二進(jìn)制程序中實(shí)現(xiàn)。程序innobackupex可以允許我們備份MyISAM表和frm文件從而增加了便捷和功能。

Innobackupex會啟動xtrabackup,直到xtrabackup復(fù)制數(shù)據(jù)文件后,然后執(zhí)行FLUSH TABLES WITH READ LOCK來阻止新的寫入進(jìn)來并把MyISAM表數(shù)據(jù)刷到硬盤上,之后復(fù)制MyISAM數(shù)據(jù)文件,最后釋放鎖。

備份MyISAM和InnoDB表最終會處于一致,在準(zhǔn)備(prepare)過程結(jié)束后,InnoDB表數(shù)據(jù)已經(jīng)前滾到整個(gè)備份結(jié)束的點(diǎn),而不是回滾到xtrabackup剛開始時(shí)的點(diǎn)。這個(gè)時(shí)間點(diǎn)與執(zhí)行FLUSH TABLES WITH READ LOCK的時(shí)間點(diǎn)相同,所以myisam表數(shù)據(jù)與InnoDB表數(shù)據(jù)是同步的。

類似oracle的,InnoDB的prepare過程可以稱為recover(恢復(fù)),myisam的數(shù)據(jù)復(fù)制過程可以稱為restore(還原)。

xtrabackup的安裝:

官網(wǎng)下載rpm包或者tar.gz包解壓就能用,此外需要通過epel的yum安裝依賴包libev

# yum install libev -y

# rpm -ivh percona-xtrabackup-24-2.4.3-1.el6.x86_64.rpm

rpm包釋放的可執(zhí)行文件如下:

/usr/bin/innobackupex    # 封裝過的perl腳本

/usr/bin/xbcloud

/usr/bin/xbcloud_osenv

/usr/bin/xbcrypt

/usr/bin/xbstream

/usr/bin/xtrabackup      # 主程序

xtrabackup的使用:

1、完全備份

# innobackupex --user=DBUSER --password=SECRET /path/to/backup/dir/

生成的是一個(gè)以當(dāng)前日期命名的文件夾。

如果要使用一個(gè)最小權(quán)限的用戶進(jìn)行備份,則可基于如下命令創(chuàng)建此類用戶:

> GRANT PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost' IDENTIFIED BY '123456';

> FLUSH PRIVILEGES;

使用innobakupex備份時(shí),其會調(diào)用xtrabackup備份所有的InnoDB表,復(fù)制所有關(guān)于表結(jié)構(gòu)定義的相關(guān)文件(.frm)、以及MyISAM、MERGE、CSV和ARCHIVE表的相關(guān)文件,同時(shí)還會備份觸發(fā)器和數(shù)據(jù)庫配置信息相關(guān)的文件。這些文件會被保存至一個(gè)以時(shí)間命名的目錄中。

在備份的同時(shí),innobackupex還會在備份目錄中創(chuàng)建如下文件:

(1)xtrabackup_checkpoints —— 備份類型(如完全或增量)、備份狀態(tài)(如是否已經(jīng)為prepared狀態(tài))和LSN(日志序列號)范圍信息; 

每個(gè)InnoDB頁(通常為16k大小)都會包含一個(gè)日志序列號,即LSN。LSN是整個(gè)數(shù)據(jù)庫系統(tǒng)的系統(tǒng)版本號,每個(gè)頁面相關(guān)的LSN能夠表明此頁面最近是如何發(fā)生改變的。

(2)xtrabackup_binlog_info:mysql服務(wù)器當(dāng)前正在使用的二進(jìn)制日志文件及至備份這一刻為止二進(jìn)制日志事件的位置。

(3)xtrabackup_binlog_pos_innodb:二進(jìn)制日志文件及用于InnoDB或XtraDB表的二進(jìn)制日志文件的當(dāng)前position。

(4)xtrabackup_binary:備份中用到的xtrabackup的可執(zhí)行文件;

(5)backup-my.cnf:備份命令用到的配置選項(xiàng)信息;

在使用innobackupex進(jìn)行備份時(shí),還可以使用--no-timestamp選項(xiàng)來阻止命令自動創(chuàng)建一個(gè)以時(shí)間命名的目錄;如此一來,innobackupex命令將會創(chuàng)建一個(gè)BACKUP-DIR目錄來存儲備份數(shù)據(jù)。

完全備份\恢復(fù)示例:

備份

在node1上執(zhí)行:

    # /etc/init.d/mysqld stop

    # innobackupex --user=root --password=xxxx --no-timestamp /backups/

    # scp -rp /backups/ root@node2:/tmp

恢復(fù)

在node2上執(zhí)行恢復(fù):

    1、node2上停止mysql服務(wù)(如果啟動的話),并刪除mysql的數(shù)據(jù)目錄下所有文件: 

    # /etc/init.d/mysqld stop

    # rm -fr /data/mysql/*

    2、在node2上執(zhí)行整理操作:

    # innobackupex --apply-log /tmp/backups/

    3、在node2上執(zhí)行恢復(fù)操作,并修改文件屬主屬組:

    # innobackupex --copy-back /tmp/backups/

    # chown -R mysql.mysql /data/mysql/*

    4、在node2上啟動mariadb服務(wù):

    # /etc/init.d/mysqld start

2、增量備份

每個(gè)InnoDB的頁面都會包含一個(gè)LSN信息,每當(dāng)相關(guān)的數(shù)據(jù)發(fā)生改變,相關(guān)的頁面的LSN就會自動增長。這正是InnoDB表可以進(jìn)行增量備份的基礎(chǔ),即innobackupex通過備份上次完全備份之后發(fā)生改變的頁面來實(shí)現(xiàn)。

要實(shí)現(xiàn)第一次增量備份,可以使用下面的命令進(jìn)行:

# innobackupex --user=root --password=xxxx --incremental /backup --incremental-basedir=BASEDIR

其中,BASEDIR指的是完全備份所在的目錄,此命令執(zhí)行結(jié)束后,innobackupex命令會在/backup目錄中創(chuàng)建一個(gè)新的以時(shí)間命名的目錄以存放所有的增量備份數(shù)據(jù)。另外,在執(zhí)行過增量備份之后再一次進(jìn)行增量備份時(shí),其--incremental-basedir應(yīng)該指向上一次的增量備份所在的目錄。

注意: 增量備份僅能應(yīng)用于InnoDB或XtraDB表,對于MyISAM表而言,執(zhí)行增量備份時(shí)其實(shí)進(jìn)行的是完全備份。

“準(zhǔn)備”(prepare)增量備份與整理完全備份有著一些不同,尤其要注意的是:

(1)需要在每個(gè)備份(包括完全和各個(gè)增量備份)上,將已經(jīng)提交的事務(wù)進(jìn)行“重放”。“重放”之后,所有的備份數(shù)據(jù)將合并到完全備份上。

(2)基于所有的備份將未提交的事務(wù)進(jìn)行“回滾”。

于是,操作就變成了:

# innobackupex --apply-log --redo-only BASE-DIR

接著執(zhí)行:

# innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-1

而后是第二個(gè)增量:

# innobackupex --apply-log --redo-only BASE-DIR --incremental-dir=INCREMENTAL-DIR-2

其中BASE-DIR指的是完全備份所在的目錄,而INCREMENTAL-DIR-1指的是第一次增量備份的目錄,INCREMENTAL-DIR-2指的是第二次增量備份的目錄,其它依次類推,即如果有多次增量備份,每一次都要執(zhí)行如上的操作;

增量備份、恢復(fù)示例:

1、先做一個(gè)完全備份

# innobackupex --user=root /backups/  會在/backups/下生成一個(gè)以當(dāng)前時(shí)間命名的文件夾。如下圖:

 

2、對數(shù)據(jù)表執(zhí)行些修改等操作

【數(shù)據(jù)表的修改操作略過】

3、執(zhí)行增量備份

# innobackupex --incremental /backups/ --incremental-basedir=/backups/2015-11-08_19-24-05

 

說明:

有時(shí)候查看增量備份的文件中的xtrabackup_checkpoints發(fā)現(xiàn)其數(shù)值沒變化,可能是LSN變化太小了。執(zhí)行大量的數(shù)據(jù)表修改等操作后,會發(fā)現(xiàn)其LSN是會變化的,有時(shí)候不變也是正常的。

補(bǔ)充個(gè)腳本的方式執(zhí)行全備份、增量備份:
全備份:
innobackupex --user=root --password=123456 /backups/  
增量備份:
innobackupex --user=root --password=123456 --incremental /backups/  --incremental-basedir=/backups/$(ls -l /backups| awk '{print $NF}'|tail -1)
# 將上面的2個(gè)添加到cron計(jì)劃任務(wù)即可,備份的路徑是/backups/目錄下。

4、合并備份文件

# innobackupex --user=root --password=123456 --apply-log-only --redo-only /backups/2015-11-08_19-57-53/

# innobackupex --user=root --password=123456 --apply-log-only --redo-only /backups/2015-11-08_19-57-53/ --incremental-dir=/backups/2015-11-08_19-59-31/

# cat /backups/2015-11-08_19-57-53/xtrabackup_checkpoints# 檢驗(yàn)是否合并成功

 

5、執(zhí)行恢復(fù)數(shù)據(jù)到數(shù)據(jù)庫的操作

# innobackupex --user=root --password=123456 --copy-back /backups/2015-11-08_19-57-53/   【注意這里填的應(yīng)該是basedir的路徑】

# ls -lh /data/mysql/  查看文件是否恢復(fù) 

# chown -R mysql.mysql /data/mysql/  修改文件權(quán)限 

6、啟動MySQL查看是否數(shù)據(jù)已恢復(fù)

# /etc/init.d/mysqld start

分享名稱:xtrabackup使用詳解
URL網(wǎng)址:http://aaarwkj.com/article48/iggpep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、、網(wǎng)站導(dǎo)航小程序開發(fā)、手機(jī)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
日本人妻在线不卡视频| 综合av在线一区天堂| 欧美在线日韩一区二区| 人人妻人人澡人人爽的视频| 日韩精品中文字幕有码| 欧美精品一区二区久久| 免费观看在线视频午夜| 国产在线不卡中文字幕| 少妇人妻精品一区三区二区| 91人妻人澡人人爽| 熟女人妻丰满视频中文字幕| 粉嫩极品美女国产精品| 美女诱惑丝袜国产国产av丝袜| 日韩不卡区高清在线视频| 亚洲日本久久久午夜精品| av中文字幕啊嗯不要| 精品毛片av一区二区三区| 国产精品自在线拍亚洲另类 | 亚洲国产熟女导航网站视频| 日韩美女搞黄色的网站| 青青草原在线免费视频| 久久成人激情免费视频| 激情五月婷婷我有我色| 亚洲av日韩高清在线观看| 亚洲乱色熟女一区二区三区麻豆| 真实夫妻露脸爱视频九色网| 在线播放国产91精品| 国产粉嫩一区二区三区在线观看| 18禁黄网站免费视频| 大龄熟妇丰满有水多毛浓| 亚洲一区二区三区免费在线视频| 免费直接在线看亚洲黄色| 国内不卡一区二区三区| 日本精品av一区二区| 日韩成人在线高清视频| 天堂av在线资源观看| 97成人在线免费视频| 黄色成人av在线网站| 日韩欧美麻豆不卡一区二区| 九九九热这里只有精品| 激情少妇一区二区三区|