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

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

MYSQL多源復制,過濾復制與應用場景介紹

這篇文章主要講解了“MySQL 多源復制,過濾復制與應用場景介紹”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MYSQL 多源復制,過濾復制與應用場景介紹”吧!

我們提供的服務有:網(wǎng)站設計制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、漳州ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的漳州網(wǎng)站制作公司

Mysql的使用中,會伴隨著一個其他數(shù)據(jù)庫中很少被提到的問題,數(shù)據(jù)融合。ORACLE ,SQL SERVER ,PG 你可以去分區(qū)表,MYSQL 中遇到這樣的問題大多去分庫分表去解決,雖然現(xiàn)在有了TIDB 可以進行MYSQL 的后續(xù)的數(shù)據(jù)融合,但如果數(shù)據(jù)量不大的情況下,或者有些 MYSQL 8的新支持的語法需求等等,多源復制還是一個好的選擇。

缺點也是顯而易見的,多源復制復制不會解決你復制中可能由于你不注意產(chǎn)生的復制的沖突問題。例如重名的數(shù)據(jù)庫,部署系統(tǒng)數(shù)據(jù)的沖突。下面就來看看如何來多源復制,和其中的一些 “坑”。

首先目前大部分單位的MYSQL 基本上已經(jīng)啟用了 GTID ,這里下面的復制中,全部使用 GTID 的方式進行連接.  

測試的機器有

192.168.192.200

192.168.192.202

192.168.192.201

首先備份 200 和 202 上的數(shù)據(jù)庫,備份的時候,僅僅只備份了需要進行數(shù)據(jù)同步的數(shù)據(jù)庫,并未進行全部備份,而做多源復制中,也需要這樣做,否則做第一個復制還好,后面的復制就不好做了,會有一些問題。

備份是通過mydumper 進行的備份,而mydumper 目前最新的0.95 是TIDB 的團隊在維護,應該是靠譜的在mysql 5.7及以下版本(如有不對請指正)

在 200 的機器上

MYSQL 多源復制,過濾復制與應用場景介紹

在202 的機器上

MYSQL 多源復制,過濾復制與應用場景介紹

在201 的機器上恢復相關(guān)的數(shù)據(jù)庫

MYSQL 多源復制,過濾復制與應用場景介紹

恢復數(shù)據(jù)庫

MYSQL 多源復制,過濾復制與應用場景介紹

同理恢復第二個數(shù)據(jù)庫到winner 數(shù)據(jù)庫

恢復后的數(shù)據(jù)庫 201 是這樣的。

MYSQL 多源復制,過濾復制與應用場景介紹

下面我們來建立與兩臺MYSQL 主的復制

CHANGE MASTER TO MASTER_HOST='192.168.198.200', MASTER_USER='admin', MASTER_PORT=3306, MASTER_PASSWORD='XXXX', MASTER_AUTO_POSITION = 1 FOR CHANNEL 'C200';

CHANGE MASTER TO MASTER_HOST='192.168.198.202', MASTER_USER='admin', MASTER_PORT=3306, MASTER_PASSWORD='XXXX', MASTER_AUTO_POSITION = 1 FOR CHANNEL 'C202';

通過上面兩個語句,201 就已經(jīng)與 200, 201 兩臺機器建立的復制的關(guān)系。

啟動復制 start slave;  查看201 上的復制狀態(tài)

MYSQL 多源復制,過濾復制與應用場景介紹

MYSQL 多源復制,過濾復制與應用場景介紹

我們可以看到對于兩臺主機的復制是OK 的。而坑其實就不遠了

1  舉例,為了管理mysql 方便,我們在每臺MYSQL 上建立管理庫monitor

那么馬上問題就在數(shù)據(jù)匯聚庫 201 上出現(xiàn)問題,我先后在 200 ,和 202 兩臺機器上建立monitor 數(shù)據(jù)庫,按照邏輯來說,201 的復制 關(guān)于202 的復制應該會停,但由于特殊的設置,并未停止復制。但201 的錯誤日志,會毫不留情的記錄這個錯誤。

下面的錯誤日志報告 202   主機創(chuàng)建數(shù)據(jù)庫的命令失敗了

MYSQL 多源復制,過濾復制與應用場景介紹

其實這就是配置中,讓復制中的DDL 語句的錯誤忽略產(chǎn)生的結(jié)果,但如果我們繼續(xù)操作一些非DDL 的操作,則復制就不會繼續(xù)工作了。

我們創(chuàng)建一個表,test1 分表在 200 和 202 機器上,然后插入數(shù)據(jù),201 的復制報錯了。原因是主鍵重復。

MYSQL 多源復制,過濾復制與應用場景介紹

通過這個事例想說明的問題

1  如果多源復制,建議還是DDL 的錯誤在多源復制的機器上更寬容一些。

2  不建議有類似比如每個數(shù)據(jù)庫都有的數(shù)據(jù)庫并在這個數(shù)據(jù)庫里面還有同樣的表和主鍵設置

那如果有類似的問題怎么辦,必須要在每個MYSQL的物理服務器上有相同命名的數(shù)據(jù)庫,而這個庫可以不進行復制。

那就祭出我們的復制過濾來解決問題,原理就是我們對傳遞過來的日志進行過濾,凡是不在我們允許的復制的數(shù)據(jù)庫list  中的都不進行復制。

MYSQL 多源復制,過濾復制與應用場景介紹

我們先停止201 上的復制,stop slave; 然后將201 上的monitor 數(shù)據(jù)庫刪除

在201上執(zhí)行 下圖的語句 

MYSQL 多源復制,過濾復制與應用場景介紹

啟動復制,然后我們在原來的 200 和 202 上在對monitor 數(shù)據(jù)庫中的表進行操作,

202 上的表

MYSQL 多源復制,過濾復制與應用場景介紹

200 上的表

MYSQL 多源復制,過濾復制與應用場景介紹

而 201 上的可以刪除 monitor 數(shù)據(jù)庫,復制將過濾一概不是 employees winner 數(shù)據(jù)庫之外的數(shù)據(jù)。

下圖,201 已經(jīng)沒有monitor  數(shù)據(jù)庫

MYSQL 多源復制,過濾復制與應用場景介紹

并且201上的復制是正常工作的

MYSQL 多源復制,過濾復制與應用場景介紹

MYSQL 多源復制,過濾復制與應用場景介紹

MYSQL 的多源復制,其實是一個比較好的功能,也是針對某些分庫操作后的數(shù)據(jù)再次融合和簡單的數(shù)據(jù)聯(lián)合查詢而使用到的功能,當然其中的坑也很多,使用中不注意就會有各種復制的問題。

感謝各位的閱讀,以上就是“MYSQL 多源復制,過濾復制與應用場景介紹”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對MYSQL 多源復制,過濾復制與應用場景介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


網(wǎng)站欄目:MYSQL多源復制,過濾復制與應用場景介紹
標題來源:http://weahome.cn/article/geieoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部