日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一個簡單的MySQL數(shù)據(jù)遷移示例

因為服務(wù)器遷移,目前一套硬件老化的MySQL主從服務(wù)器都需要替換為新服務(wù)器,總體評估了一下,在不改變版本的情況下,采用了較新的5.6子版本。就是如下圖所示的左邊和右邊。

如果要做這個完整的切換,其實方式和思路都有很多,我選擇了一種來做。

首先我低估了數(shù)據(jù)的情況,以為都是InnoDB表,于是從主庫使用--single-transaction導(dǎo)出表數(shù)據(jù),直接導(dǎo)入??雌饋頉]有什么明顯的異常,但是啟動slave,發(fā)現(xiàn)數(shù)據(jù)沖突。

2017-08-07 17:40:31 75211 [Warning] Slave: Duplicate entry '632107' for key 'PRIMARY' Error_code: 1062

2017-08-07 17:40:31 75211 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave S

QL thread with "SLAVE START". We stopped at log 'binlog.000019' position 934115248

所以仔細審視數(shù)據(jù),發(fā)現(xiàn)原來里面有個數(shù)據(jù)庫里存在大量的MYISAM表。在這種情況系,備份MYISAM表數(shù)據(jù)就很可能出現(xiàn)問題,因為--single-transaction不會生效,要備份可以使用mysqlhotcopy等方式來做,我不喜歡MYISM表,而且這個人其實比較懶,不想這樣折騰,而且還對主庫造成一定的影響。所以我把目光瞄向了從庫。

為了保證數(shù)據(jù)一致性,我完全可以先停掉slave,在有限的時間里導(dǎo)出數(shù)據(jù),這樣對于主庫來說是透明的。

而需要注意的是使用mysqldump導(dǎo)出使用master-data的選項注定是有沖突的,所以我們完全可以不用master-data=2的選項,而直接根據(jù)show slave status\G的結(jié)果來得到具體的偏移量。

# mysqldump --all-databases --master-data=2 > master.sql

mysqldump: Error: Binlogging on server not active

新的主庫,新的備庫都是按照這種方式來搭建,數(shù)據(jù)都來自舊的從庫,這樣一來,配置好服務(wù)的話,主庫會有3個binlogDump線程。

整個數(shù)據(jù)導(dǎo)入的過程中,可以根據(jù)processlist的數(shù)據(jù)看到處理MyISAM表還是比較耗時,我就干等著幾個MyISAM大表的線程State從“Repair by sorting”和“Repair with keycache”切換。

這個時候我們就需要轉(zhuǎn)換一下,我們把新的從庫指向新的主庫即可,也就是實現(xiàn)級聯(lián)復(fù)制,要做這個工作,讓數(shù)據(jù)追平之后,保險起見還是先停掉新主庫的slave線程,讓新的從庫重新從新的主庫來應(yīng)用日志(show master status\G) 這樣一來,一切一連,一個級聯(lián)的環(huán)境就搞定了。

后期后一些微調(diào),也可以很自然的完成。

而正式切換的時候,其實幾乎不需要做什么工作。新的主庫使用reset slave all即可。

上面的這是一個很基礎(chǔ)的環(huán)境切換,如果能夠更深一步,把網(wǎng)絡(luò)層面的工作做好,其實這個切換就更加透明,完全可以做到無感知。


文章題目:一個簡單的MySQL數(shù)據(jù)遷移示例
網(wǎng)址分享:http://www.dlmjj.cn/article/ccsdgjp.html