最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)據(jù)庫|TiDB Binlog實踐指南,輕松實現(xiàn)主備集群部署和數(shù)據(jù)同步

2023-06-14 20:00 作者:神州數(shù)碼云基地  | 我要投稿

劉昊?| 數(shù)據(jù)庫工程師

最近手頭有個系統(tǒng),有需要搭建災備庫的需求(RTO要求4小時內(nèi),根據(jù)實際情況計算)。考慮到生產(chǎn)系統(tǒng)是5版本,TiCDC存在一些兼容性問題,且TiDB Binlog已經(jīng)有實踐案例及經(jīng)驗可供參考,故選擇使用TiDB Binlog來實現(xiàn)主集群-->災備集群的增量數(shù)據(jù)同步。數(shù)據(jù)全量初始化采用Dumpling + TiDB Lightning工具。

具體實施過程如下:


一、災備集群部署

災備集群搭建方案,采用與主集群1:1的方式進行部署,直接用現(xiàn)生產(chǎn)環(huán)境集群拓撲文件進行部署,部署完成后建用戶并賦權,具體過程不再贅述。


二、主集群擴容pump

編輯生產(chǎn)集群擴容pump所需拓撲文件,內(nèi)容如下

編輯完成后,執(zhí)行擴容命令

擴容完成后,最終會輸出如下內(nèi)容


三、開啟主集群Binlog功能

執(zhí)行edit-config命令,修改集群配置:

在server_configs下TiDB部分,添加如下配置


編輯完成后,reload tidb節(jié)點使配置生效

reload完成后,會輸出如下內(nèi)容



四、主集群調整GC時間

登錄數(shù)據(jù)庫,執(zhí)行如下sql:

sql返回執(zhí)行成功后,再次執(zhí)行select @@tidb_gc_life_time;,查詢結果輸出為6h或360m,即為調整成功。


五、使用dumpling工具并將生產(chǎn)數(shù)據(jù)全量導出

導出完成后,日志最終會輸出["dump data successfully, dumpling will exit now"]字樣,如下圖所示:



六、將導出數(shù)據(jù)目錄上傳至災備服務器,進行全量導入


第一步,使用lightning工具將數(shù)據(jù)全量導入

以下為運行l(wèi)ightning所需配置文件,因導入數(shù)據(jù)量大,建議開啟斷點

第二步,開始導入

導入完成后,日志會輸出["tidb lightning exit"],如圖:



七、災備集群擴容pump

編輯擴容pump所需配置文件

上傳完成后,執(zhí)行如下命令擴容

擴容完成后,最終會輸出如下內(nèi)容



八、災備集群開啟Binlog功能

執(zhí)行edit-config命令,修改集群配置文件

在server_config下tidb部分,添加如下配置



修改完成后,reload tidb節(jié)點使配置生效

reload完成后,會輸出如下內(nèi)容



九、生產(chǎn)集群與災備集群新建Drainer用戶并授權

分別登錄生產(chǎn)和災備數(shù)據(jù)庫,執(zhí)行如下SQL,創(chuàng)建Drainer用戶并授權

以上sql均返回成功后,執(zhí)行show grants for 'drainer'@'%';確認drainer用戶權限包含Insert、Update、Delete、Create、Drop、Alter、Execute、Index、Select、Create View權限。


十、災備集群擴容Drainer(本地記錄Binlog,實現(xiàn)增量備份)

編輯擴容Binlog所需配置文件

編輯完成后,執(zhí)行如下命令擴容

擴容完成后,最終會輸出如下內(nèi)容



十一、主集群擴容Drainer

編輯擴容Drainer所需配置文件

dumpling導出metadata中Pso查看方式:

導出數(shù)據(jù)目錄中$/dumpdir ,會有一個metadata的文件,執(zhí)行cat命令即可查看該文件中Pso,如圖所示:



編輯完成后,執(zhí)行如下命令擴容

擴容完成后,最終會輸出如下內(nèi)容:



十二、檢驗同步鏈路是否搭建成功

分別訪問集群監(jiān)控(10.3.31.1:3000、10.3.31.101:3000),查詢grafana監(jiān)控面板中tidb-test-binlog-->drainer界面,如圖:


checkpoint正常推進,代表drainer同步鏈路正常工作。

在生產(chǎn)庫新建test表或在原有test表中插入數(shù)據(jù),在災備庫進行查詢,如生產(chǎn)庫執(zhí)行的DDL或DML在災備庫能夠查詢到,證明生產(chǎn)庫增量數(shù)據(jù)可通過同步鏈路同步至災備庫,生產(chǎn)-->災備數(shù)據(jù)同步鏈路搭建成功。


十三、GC時間調整回原配置

登錄數(shù)據(jù)庫,執(zhí)行如下SQL:

sql返回執(zhí)行成功后,再次執(zhí)行select @@tidb_gc_life_time;,查詢結果輸出為1h或10m,即為調整成功。

至此TiDB Binlog搭建的集群數(shù)據(jù)同步鏈路搭建完成,數(shù)據(jù)同步成功。

部署過程中,需要注意的是drainer的initial-commit-ts參數(shù),只能在部署的時候配置,無法在已有drainer節(jié)點上進行配置。后續(xù)運維過程中,需額外關注Skip Binlog Count監(jiān)控指標,防止出現(xiàn)TiDB 寫入 Binlog 失敗的情況,如出現(xiàn)TiDB 寫入 Binlog 失敗,需及時進行處理。

各位路過大佬如果有相關方案及操作步驟改進建議,歡迎進群討論。


數(shù)據(jù)庫|TiDB Binlog實踐指南,輕松實現(xiàn)主備集群部署和數(shù)據(jù)同步的評論 (共 條)

分享到微博請遵守國家法律
连江县| 宜丰县| 肇州县| 垣曲县| 彭泽县| 灌阳县| 定边县| 江达县| 平果县| 咸阳市| 龙门县| 江口县| 理塘县| 横山县| 丹巴县| 威海市| 兴山县| 栾川县| 冷水江市| 西昌市| 九江县| 潍坊市| 乐平市| 灌阳县| 镇安县| 宿州市| 永泰县| 沅江市| 武宁县| 嘉鱼县| 三明市| 万载县| 永春县| 临漳县| 平武县| 凤城市| 临湘市| 武强县| 会昌县| 阿拉善盟| 镇远县|