本篇內容主要講解“數據遷移過(guò)程”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強。下面就讓小編來(lái)帶大家學(xué)習“MySQL數據遷移過(guò)程”吧!
因為遷移,目前一套硬件老化的MySQL主從服務(wù)器都需要替換為新服務(wù)器,總體評估了一下,在不改變版本的情況下,采用了較新的5.6子版本。就是如下圖所示的左邊和右邊。
如果要做這個(gè)完整的切換,其實(shí)方式和思路都有很多,我選擇了一種來(lái)做。
首先我低估了數據的情況,以為都是InnoDB表,于是從主庫使用--single-transaction導出表數據,直接導入??雌饋?lái)沒(méi)有什么明顯的異常,但是啟動(dòng)slave,發(fā)現數據沖突。
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
所以仔細審視數據,發(fā)現原來(lái)里面有個(gè)數據庫里存在大量的MYISAM表。在這種情況系,備份MYISAM表數據就很可能出現問(wèn)題,因為--single-transaction不會(huì )生效,要備份可以使用mysqlhotcopy等方式來(lái)做,我不喜歡MYISM表,而且這個(gè)人其實(shí)比較懶,不想這樣折騰,而且還對主庫造成一定的影響。所以我把目光瞄向了從庫。
為了保證數據一致性,我完全可以先停掉slave,在有限的時(shí)間里導出數據,這樣對于主庫來(lái)說(shuō)是透明的。
而需要注意的是使用mysqldump導出使用master-data的選項注定是有沖突的,所以我們完全可以不用master-data=2的選項,而直接根據show slave status\G的結果來(lái)得到具體的偏移量。
# mysqldump --all-databases --master-data=2 > master.sql
mysqldump: Error: Binlogging on server not active
新的主庫,新的備庫都是按照這種方式來(lái)搭建,數據都來(lái)自舊的從庫,這樣一來(lái),配置好服務(wù)的話(huà),主庫會(huì )有3個(gè)binlogDump線(xiàn)程。
整個(gè)數據導入的過(guò)程中,可以根據processlist的數據看到處理MyISAM表還是比較耗時(shí),我就干等著(zhù)幾個(gè)MyISAM大表的線(xiàn)程State從“Repair by sorting”和“Repair with keycache”切換。
這個(gè)時(shí)候我們就需要轉換一下,我們把新的從庫指向新的主庫即可,也就是實(shí)現級聯(lián)復制,要做這個(gè)工作,讓數據追平之后,保險起見(jiàn)還是先停掉新主庫的slave線(xiàn)程,讓新的從庫重新從新的主庫來(lái)應用日志(show master status\G) 這樣一來(lái),一切一連,一個(gè)級聯(lián)的環(huán)境就搞定了。
后期后一些微調,也可以很自然的完成。
而正式切換的時(shí)候,其實(shí)幾乎不需要做什么工作。新的主庫使用reset slave all即可。
上面的這是一個(gè)很基礎的環(huán)境切換,如果能夠更深一步,把網(wǎng)絡(luò )層面的工作做好,其實(shí)這個(gè)切換就更加透明,完全可以做到無(wú)感知。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站