假設現有兩個機房,需要做到資料同步。
以下是架構圖(實際架構圖根據現有機房架構和實際會比下圖複雜,但整體思路不變):
mycat、canal、otter是關鍵的三項技術:
mycat:資料庫分庫分表中介軟體,可以管理乙個mysql集群,遮蔽了mysql集群,對外偽裝成mysql server,使用者無感知mysql集群。
canal:阿里巴巴開源產品,可以讀取mysql二進位制日誌檔案,並解析成想要的資料。
otter:阿里巴巴開源產品,配合canal可以做到讀取二進位制檔案,解析出增量資料sql,然後執行sql到指定連線。
流程:1、使用者插入一條資料到mycat
2、mycat解析sql,分配sql到指定mysql資料庫
3、mysql(假設m1接收到資料)資料庫接收資料,根據主從配置,寫出二進位制日誌。
4、mysql(m2)讀取二進位制日誌同步資料,mysql(s)讀取二進位制日誌同步資料,並寫出二進位制日誌
5、canal讀取二進位制日誌,解析成sql
6、otter接到sql,獲取連線,在機房b的mycat上執行sql
7、otter收到sql執行回執,執行完畢。
注:本文給予思路及具體技術方案,具體技術的應用及使用,請自行google。
mysql 跨機房架構 Mysql跨機房同步方案
假設現有兩個機房,需要做到資料同步。以下是架構圖 實際架構圖根據現有機房架構和實際會比下圖複雜,但整體思路不變 mycat canal otter是關鍵的三項技術 mycat 資料庫分庫分表中介軟體,可以管理乙個mysql集群,遮蔽了mysql集群,對外偽裝成mysql server,使用者無感知m...
mysql跨庫跨表查詢
簡單記錄 select from dysns.uchome pay record,91feile.phpcms game where uchome pay record.uid phpcms game.touserid select from dysns.uchome pay record,91fe...
mysql跨服務跨庫查詢
若是不同服務不同庫需要 檢視federated引擎是否開啟 mysql查詢視窗輸入指令 show engines 如果有federated引擎,但support是no,說明你的mysql安裝了這個引擎,但沒啟用,去mysql安裝錄下找到配置檔案my.ini,在 mysqld 字段 檔案末 新增一行f...