主頁 > 知識庫 > mysql過濾復制思路詳解

mysql過濾復制思路詳解

熱門標簽:大眾點評星級酒店地圖標注 400電話可以辦理嗎 臨清電話機器人 云南電商智能外呼系統(tǒng)價格 拉卡拉外呼系統(tǒng) 話務外呼系統(tǒng)怎么樣 智能外呼系統(tǒng)復位 外東北地圖標注 高清地圖標注道路

mysql過濾復制

兩種思路:

  • 主庫的binlog上實現(不推薦,盡量保證主庫binlog完整)
  • 從庫的sql線程上實現

所以主從過濾復制盡量不用,要用的也僅僅在從庫上使用,因為要盡可能保證binlog的完整性

主庫上實現

在Master 端為保證二進制日志的完整, 不使用二進制日志過濾。

主庫配置參數:

#配置文件中添加

binlog-do-db=db_name     #定義白名單,僅將制定數據庫的相關操作記入二進制日志。如果主數據庫崩潰,那么僅僅之恢復指定數據庫的內容,不建議在主服務器端使用,這樣導致日志不完整。
binlog-ignore-db=db_name   #定義黑名單, 定義ignore 的庫上發(fā)生的寫操作將不會記錄到二進制日志中

從庫上實現

可以下載配置文件中

REPLICATE_DO_DB = (db_list)		#過濾復制哪些庫
REPLICATE_IGNORE_DB = (db_list)		#不復制哪些庫
REPLICATE_DO_TABLE = (tbl_list)	#過濾表
REPLICATE_IGNORE_TABLE = (tbl_list)	#忽略過濾表
REPLICATE_WILD_DO_TABLE = (wild_tbl_list)	#根據正則匹配過濾表
REPLICATE_WILD_IGNORE_TABLE = (wild_tbl_list)	#根據正則匹配忽略過濾這些表
REPLICATE_REWRITE_DB = (db_pair_list)
#將源數據庫的db1發(fā)生的語句重寫到從庫的db2
CHANGE REPLICATION FILTER REPLICATE_REWRITE_DB = ((db1, db2));

語法:

官網語法參考:https://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html

CHANGE REPLICATION FILTER filter[, filter][, ...]

filter: {
    REPLICATE_DO_DB = (db_list)
  | REPLICATE_IGNORE_DB = (db_list)
  | REPLICATE_DO_TABLE = (tbl_list)
  | REPLICATE_IGNORE_TABLE = (tbl_list)
  | REPLICATE_WILD_DO_TABLE = (wild_tbl_list)
  | REPLICATE_WILD_IGNORE_TABLE = (wild_tbl_list)
  | REPLICATE_REWRITE_DB = (db_pair_list)
}
#從庫實現過濾復制

​	stop slave sql_thread;
​	change replication filter replicate_do_db=(db);
​	start slave sql_thread;

#取消過濾復制
​	stop slave sql_thread;
​	change replication filter replicate_do_db=();
​	start slave sql_thread;

一些問題

主庫刪除某個表,從庫沒有這個表,導致從庫sql線程關閉

或者主從正常,從庫不小心刪除某個表,主庫隨后再刪除這個表,從庫又會去刪除這個不存在的表,報錯,導致sql線程退出

解決方法:跳過這一步操作

解決方案:從庫sql線程跳過誤操作的步驟

stop slave sql_thread;

#找到Executed_Gtid_Set執(zhí)行到19
set gtid_next='94fc1fbe-b7a0-11eb-b0a0-000c2969aba1:20'; 將gtid分配給下一個事務

begin;commit;
set gtid_next=automatic; 系統(tǒng)自動分配gtid
start slave sql_thread;

到此這篇關于mysql過濾復制思路詳解的文章就介紹到這了,更多相關mysql過濾復制 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL 到底是如何做到多版本并發(fā)的?
  • MySQL 外鍵(FOREIGN KEY)用法案例詳解
  • MySQL如何利用存儲過程快速生成100萬條數據詳解
  • Python接口自動化淺析pymysql數據庫操作流程
  • MySQL事務控制流與ACID特性
  • Mysql使用存儲過程快速添加百萬數據的示例代碼
  • MySQL去除重疊時間求時間差和的實現
  • Mysql數據庫中datetime、bigint、timestamp來表示時間選擇,誰來存儲時間效率最高
  • MySQL的全局鎖和表級鎖的具體使用
  • 基于Redo Log和Undo Log的MySQL崩潰恢復解析

標簽:山西 阿里 三明 溫州 福州 定西 揚州 無錫

巨人網絡通訊聲明:本文標題《mysql過濾復制思路詳解》,本文關鍵詞  mysql,過濾,復制,思路,詳解,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql過濾復制思路詳解》相關的同類信息!
  • 本頁收集關于mysql過濾復制思路詳解的相關信息資訊供網民參考!
  • 推薦文章