真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

現(xiàn)有2臺DB服務(wù)器,分別用于A業(yè)務(wù)與B業(yè)務(wù),其中A業(yè)務(wù)比較重要,需要對A業(yè)務(wù)的1個DB(TaeOss)進行熱備,大概有40G的數(shù)據(jù),并用業(yè)務(wù)B的DB服務(wù)器作為備機,服務(wù)器分布如下:

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了藍田免費建站歡迎大家使用!

10.137.143.151     A業(yè)務(wù)

10.137.143.152     B業(yè)務(wù)

 

開發(fā)那邊的要求是:

在導(dǎo)出A業(yè)務(wù)的DB(TaeOss)時,不能對A業(yè)務(wù)有影響。同時在B業(yè)務(wù)的DB服務(wù)器上進行恢復(fù)時,也不能有較大影響,盡量控制在1分鐘以內(nèi)。

 

采取的方案:

1、MySQLdump:屬于邏輯備份,會存在鎖表,但考慮到數(shù)據(jù)量比較大,鎖表的時間會比較長,業(yè)務(wù)不允許,pass掉;

2、xtrabackup:屬于物理備份,不存在鎖表,但考慮到2臺DB使用的都是共享表空間,同時在業(yè)務(wù)B的數(shù)據(jù)庫進行恢復(fù)時,一是時間比較長,二是數(shù)據(jù)肯定不正確,pass掉(測試過);

3、mydumper:屬于邏輯備份,是一個多線程、高性能的數(shù)據(jù)邏輯備份、恢復(fù)的工具,且鎖表的時間很短(40G數(shù)據(jù),10分鐘以內(nèi)),同時會記錄binlog file和pos,業(yè)務(wù)可以接受。

 

mydumper主要有如下特性:

(1)、任務(wù)速度要比mysqldump快6倍以上;

(2)、事務(wù)性和非事務(wù)性表一致的快照(適用于0.2.2以上版本);

(3)、快速的文件壓縮;

(4)、支持導(dǎo)出binlog;

(5)、多線程恢復(fù)(適用于0.2.1以上版本);

(6)、以守護進程的工作方式,定時快照和連續(xù)二進制日志(適用于0.5.0以上版本)。

 

mydumper安裝:

https://launchpad.net/mydumper/0.6/0.6.2/+download/mydumper-0.6.2.tar.gz

# yum install glib2-devel mysql-devel zlib-devel pcre-devel

# tar zxvf mydumper-0.6.2.tar.gz

# cd mydumper-0.6.2

# cmake .

# make

# make install

 

參數(shù)如下:

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

 

由于DB是部署在比較老的SuSE Linux 10服務(wù)器上,安裝mydumper時依賴的庫比較多,會比較繁瑣,同時采用本地備份的話,也會占用大量的磁盤I/O,所以我們選擇在同網(wǎng)段的另一臺centos 6.4(10.137.143.156)服務(wù)器進行備份。

 

步驟如下:

1、在“10.137.143.151、10.137.143.152”上對“10.137.143.156”進行臨時授權(quán)

# mysql -uroot -e "grant all privileges on *.* to 'backup'@'10.137.143.156' identified by 'backup2015';"

# mysql -uroot -e "flush privileges;"

 

2、在“10.137.143.156”上對“10.137.143.151”的DB(TaeOss)進行備份

# mydumper -h 10.137.143.151 -u backup -p backup2015 -B TaeOss -t 8 -o /data/rocketzhang

 

3、將備份數(shù)據(jù)恢復(fù)到“10.137.143.152”

# myloader -h 10.137.143.152 -u backup -p backup2015 -B TaeOss -t 8 -o -d /data/rocketzhang

 

4、主從關(guān)系建立:10.137.143.151(主)、10.137.143.152(從)

在“10.137.143.151”建立授權(quán)賬號:

# mysql -uroot -e "grant replication slave on *.* to 'repl'@'10.137.143.152' identified by 'repl123456';"

# mysql -uroot -e "flush privileges;"

 

在“10.137.143.156”查看記錄下的binlog信息:

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

 

在“10.137.143.152”如下操作:

# vim /etc/my.cnf

……

replicate-do-table = TaeOss.%

replicate-wild-do-table = TaeOss.%

……

 

# service mysqld reload

 

# mysql -uroot -e "change master to master_host='10.137.143.151',master_user='repl',master_password='repl123456',master_log_file='mysql-bin.002205',master_log_pos=456584891;"

# mysql -uroot -e "start slave;"

 

# mysql -uroot -e "show slave status\G;"

出現(xiàn)如下信息:

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

看來是存在主鍵沖突,導(dǎo)致主從復(fù)制失敗。

 

問題分析:

在主DB(10.137.143.151)上執(zhí)行:

# mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.002205 > mysql-bin.002205.txt

# grep -C 8 529864938 mysql-bin.002205.txt

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

大概的意思是,在主DB上存在對t_evil_detect_uin_blacklist表的insert操作時,發(fā)生了主鍵沖突,當(dāng)在從端進行同步的時候,也出現(xiàn)了主鍵沖突,從而導(dǎo)致主從同步失敗。

 

臨時的解決辦法:

導(dǎo)出從端的表TaeOss.t_evil_detect_uin_blacklist

# mysqldump -uroot --opt TaeOss t_evil_detect_uin_blacklist > TaeOss.t_evil_detect_uin_blacklist.sql

 

去掉TaeOss.t_evil_detect_uin_blacklist.sql其中的主鍵語句:

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

 

然后再導(dǎo)入:

# mysql -uroot TaeOss < TaeOss.t_evil_detect_uin_blacklist.sql

 

# mysql -uroot -e "stop slave;"

# mysql -uroot -e "start slave;"

# mysql -uroot -e "show slave status\G;"

采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備

 


網(wǎng)頁名稱:采用mydumper對MySQL部分?jǐn)?shù)據(jù)庫進行熱備
分享鏈接:http://weahome.cn/article/iipses.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部