mariadb 10 多源複製(Multi-source replication) 業務使用情境分析,及使用方法

來源:互聯網
上載者:User

標籤:

mariadb 10 多源複製(Multi-source replication) 業務使用情境分析,及使用方法


官方mysql一個slave只能對應一個master,mariadb 10開始支援多源複製,一個slave可以有多個master,分別從各自的master複製不同的DB。


這個特性可以用在OLAP環境中,傳統電商DB都是拆了再拆,分庫分表,sharding,而OLAP環境或者大資料平台環境,通常需要各種資料的彙總,多個平台多個DB資料的複合查詢,而這些資料分散在各個庫中,怎麼辦了,當然通過應用程式可以實現彙總,但又沒有更簡單的方法,比如直接對各個server上的庫,進行表欄位的關聯了。Mysql沒有oracle的DBLINk的功能,而mysql雖然有federated引擎,但不太靠譜,而且麻煩,效能怎麼樣不可預知。


這個時候,mariadb的多源複製功能的優勢就體現出來了。直接把多個server的db,複製到同一個slave上,所有庫都有,想怎麼關聯就怎麼關聯。


其他使用情境:


兩個獨立的系統,通過介面,比如restful api或者soap,進行介面資料傳遞,經常有兩邊通訊資料不一致的情境,怎麼核查資料了。除了查介面日誌,可以使用多源複製,直接寫sql關聯兩個庫的通訊資料,到底是發送方傳遞資料還是接受方接收資料有問題,就很明顯了。
DBA可以在同一個DB SERVER上查數,不用到各個server分別查數。
備份方便,集中在這台多源複製slave上進行備份,不用到各個server上去複製。
大資料抽數,集中在一個DB 平台上抽數,不用分散到各個DB server上抽數,當然抽數多了,IO扛不住,上ssd或者pcie 卡吧。






下面講講使用方法,建議看mariadb 10 多源複製官方文檔吧,https://mariadb.com/kb/en/mariadb/mariadb-documentation/replication-cluster-multi-master/replication/multi-source-replication/




傳統複製模式改多源複製:


stop slave ,show slave status 查看停止位置
reset slave all;
change master ‘conn_mall‘ to master_host=‘master ip‘,
MASTER_PORT=3306,master_user=‘‘, master_password=‘‘,
master_log_file=‘mysql-bin.000036‘, master_log_pos=189492612;
start slave ‘conn_mall‘;
show all slaves status \G 或者show slave ‘conn_mall‘ status \G
新增加一個複製源:


源端匯出 mysqldump --master-data=2
slave端匯入
change master ‘conn_erp‘ to master_host=‘master ip‘,
MASTER_PORT=3306,master_user=‘‘, master_password=‘‘,
master_log_file=‘mysql-bin.000470‘, master_log_pos=215418341;
start slave ‘conn_erp‘;
傳統複製模式-》多源複製的命令變化


reset slave -> reset slave ‘conn_erp‘,多個串連源名字
start slave -> start slave ‘connection_name‘ 或者start all slaves
show slave status -> show slave ‘conn_mall‘ status,或者 show all slaves status查看所有的slave串連狀態
sql_slave_skip_couter -> stop slave ‘connection_name‘,先指定串連源名稱 set @@default_master_connection=‘connection_name‘;然後再set global sql_slave_skip_counter=1;最後start slave ‘connection_name‘
多源複製環境下的replicate-... variables 變數問題


可以在my.cnf replicate_ignore_db 前添加conn串連串首碼,比如 main_connection.replicate_ignore_db=ignore_database
若不加首碼,就是忽略所有同名的資料庫,其他變數類推。


參考:http://segmentfault.com/a/1190000000607471

mariadb 10 多源複製(Multi-source replication) 業務使用情境分析,及使用方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.