国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > 文庫 > 正文

mariadb10多源復制Multi-source replication業務使用場景分析

2024-09-07 22:12:39
字體:
來源:轉載
供稿:網友
         官方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
若不加前綴,就是忽略所有同名的數據庫,其他變量類推。
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖宇县| 綦江县| 恩施市| 旌德县| 周至县| 东莞市| 樟树市| 清远市| 岳阳市| 宜君县| 锦屏县| 沧源| 逊克县| 七台河市| 咸阳市| 永寿县| 偃师市| 阜阳市| 乌拉特后旗| 平乐县| 芜湖县| 阳原县| 白玉县| 宿松县| 南江县| 丰镇市| 肥城市| 东方市| 中卫市| 鄂尔多斯市| 庆阳市| 九江县| 肥城市| 扎鲁特旗| 静安区| 五寨县| 桂阳县| 五指山市| 鹤岗市| 博兴县| 祁东县|