日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL多元复制_MySQL多源复制解决方案

發(fā)布時間:2024/1/23 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL多元复制_MySQL多源复制解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL輕松實現(xiàn)一主多從,但要將多個實例的數(shù)據(jù)復制到一個實例中就比較難啦,幸好在MariaDB中已經實現(xiàn)multi-master replication 功能;

在介紹MariaDB的功能前,我們先看看一些開源的解決方案:

1、Tungsten replicator 支持異構數(shù)據(jù)復制,java實現(xiàn),成本較高;

2、使用mysqlbinlog或者類似工具拉取binlog,實現(xiàn)較為簡單;

3、采用級聯(lián)復制,比如在兩個master之間實現(xiàn)復制,M1->M2,M2上對應的表存儲引擎使用Blackhole引擎,并且開啟log-slave-update選項;最后在M2之后再掛一臺slave即可;

4、采用Federated存儲引擎,在一臺實例上創(chuàng)建遠端數(shù)據(jù)表的“軟鏈接”

5、其他各種patch或者工具

以上幾種方式,大家可能已經都接觸過,最近MariaDB 10.0.5 beta版中已經集成這個功能:

實現(xiàn)方式:

多個復制通道管理:

MySQL管理每個復制通道都是通過Master_Info類,這些函數(shù): start_slave|change_master|stop_slave|show_slave函數(shù)都需要一個Master_info指針即可;所以添加通道標示:

CHANGE MASTER ‘connection-name’ TO,START SLAVE ‘connection-name’,STOP SLAVE ‘connection-name’,SHOW SLAVE ‘connection-name’ STATUS;

其中可以通過設置默認connection name :

set @@default_master_connection='';

通道信息保存(暫不考慮類似5.6中的功能):

文件:

multi-master-info-file (master.info帶上了multi-前綴),存儲使用中的master connection name;

master-info-connection-name.info 當前slave連接master的信息;

relay-log-connection-name.seq-num 從master讀取的復制信息;

這些文件的名稱均被轉換為小寫;

此時,show slave status 顯示為空,只能單個查看 show slave 'connection name';或者 show all slaves status 來查看狀態(tài);

其中binlog為做更改,全部記錄在一起;

其他:

如果使用這種方案的話,業(yè)務數(shù)據(jù)不能重疊;

相關限制:

1、目前最多只能擁有64個master;

2、復制線程只能是兩個:IO,SQL (解決中。。。);

3、xtradb innodb-recovery-update-relay-log 這個選項需要關閉;

4、slave_net_timeout 影響的是所有connection;

5、slave_heartbeat_period 不起作用;

6、半同步復制不能使用(解決中。。。。)

總結

以上是生活随笔為你收集整理的MySQL多元复制_MySQL多源复制解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。