簡述MySQL分片中快速數(shù)據(jù)遷移
推薦閱讀:MySQL 數(shù)據(jù)庫跨操作系統(tǒng)的最快遷移方法
操作實(shí)踐背景:
travelrecord表定義為10個(gè)分片,嘗試將10個(gè)分片中的2個(gè)分片轉(zhuǎn)移到第二臺MySQL上,并完成記錄, 要求最快的數(shù)據(jù)遷移做法,中斷業(yè)務(wù)時(shí)間最短
思路一利用mysqldump:
在這里我們只針對mysql innodb engine,而且配置bin-log的數(shù)據(jù)庫進(jìn)行分析。因?yàn)槭菍?0個(gè)分片中的兩個(gè)分片進(jìn)行遷移,其實(shí)就是數(shù)據(jù)庫的遷移過程,就是將10個(gè)數(shù)據(jù)庫中的兩個(gè)數(shù)據(jù)遷移到另外一臺機(jī)器;中斷業(yè)務(wù)最短的做法就是:
1) 準(zhǔn)備mycat新的配置文件備用,以便快速切換配置文件。
2) 在業(yè)務(wù)地峰期間,如凌晨,使用mysqldump進(jìn)行數(shù)據(jù)庫的全量備份(附帶--flush-logs);
3) 將兩個(gè)分片數(shù)據(jù)庫的全量備份第二臺機(jī)器上進(jìn)行全量恢復(fù);
4) 停止mycat服務(wù)器,
5) 停止第一臺機(jī)器的mycat實(shí)例(假設(shè)原來的分片在一個(gè)mysql實(shí)例)
6) 拷貝第一臺機(jī)器的binlog文件到第二臺機(jī)器,并使用mysql的mysqlbinlog工具進(jìn)行這兩個(gè)數(shù)據(jù)庫的增量數(shù)據(jù)的恢復(fù)。
7) 啟動第一臺數(shù)據(jù)實(shí)例,校驗(yàn)遷移的兩個(gè)分片數(shù)據(jù)正確性(主要看記錄數(shù))
8) 替換mycat的配置文件并啟動mycat實(shí)例
在該方案中,業(yè)務(wù)中斷的時(shí)間主要是處理mysqlbinlog的增量數(shù)據(jù)恢復(fù)。
思路二利用mysql的ms機(jī)制做級聯(lián)復(fù)制
在這里二個(gè)片比如第一個(gè)分片db11,第二個(gè)分片db21,我在db11上面再做個(gè)級聯(lián)主從,db11-->db16,在db21上面做個(gè)級聯(lián)主從db21->db26,這樣到時(shí)候數(shù)據(jù)實(shí)時(shí)同步,中斷業(yè)務(wù)比較短的做法是:
1)準(zhǔn)備mycat新配置文件備用,以便快速切換配置文件。
2)在業(yè)務(wù)低峰期間,比如凌晨時(shí)分,開始操作,停止mycat服務(wù)器
3)進(jìn)行db11-db16主備切換,進(jìn)行db21-db26主備切換
4)停止第一臺機(jī)器的mycat實(shí)例
5)在主備切換過程中,舊的主db11、db21上面的binlog中如果有新的dml、ddl操作,就用mysqlbinlog解析出來,在新的主db16和db26上面重做一遍
6)使用mk-table-checksum工具檢查新主從db16->db11、db26->db21的數(shù)據(jù)一致性。
7)替換mycat的配置文件并啟動mycat實(shí)例
好了,關(guān)于MySQL分片中快速數(shù)據(jù)遷移相關(guān)知識就給大家介紹到這里,希望對大家有所幫助,更多有關(guān)mysql數(shù)據(jù)遷移知識請登錄www.dbjr.com.cn 了解更多!
相關(guān)文章
Mysql錯(cuò)誤Cannot find or open table x/x from the internal問題解決方法
這篇文章主要介紹了Mysql錯(cuò)誤Cannot find or open table x/x from the internal問題解決方法,需要的朋友可以參考下2014-06-06
MySQL show process命令監(jiān)控診斷數(shù)據(jù)庫性能詳解
這篇文章主要為大家介紹了MySQL show process命令監(jiān)控診斷數(shù)據(jù)庫性能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
MySQL如何實(shí)現(xiàn)負(fù)載均衡功能
這篇文章主要介紹了MySQL如何實(shí)現(xiàn)負(fù)載均衡功能,學(xué)習(xí)過數(shù)據(jù)庫的朋友們都會知道MySQL,那么如何在MySQL下實(shí)現(xiàn)負(fù)載均衡功能呢?本文就將為大家細(xì)致地介紹一下2019-06-06
關(guān)于k8s環(huán)境部署mysql主從的問題
這篇文章主要介紹了k8s環(huán)境部署mysql主從的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
MySQL into_Mysql中replace與replace into用法案例詳解
這篇文章主要介紹了MySQL into_Mysql中replace與replace into用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
MySQL 定時(shí)新增分區(qū)的實(shí)現(xiàn)示例
本文主要介紹了通過存儲過程和定時(shí)任務(wù)實(shí)現(xiàn)MySQL分區(qū)的自動創(chuàng)建,解決大數(shù)據(jù)量下手動維護(hù)的繁瑣問題,具有一定的參考價(jià)值,感興趣的可以了解一下2025-07-07

