广告
返回顶部
首页 > 资讯 > 数据库 >mysql过滤复制思路详解
  • 514
分享到

mysql过滤复制思路详解

2024-04-02 19:04:59 514人浏览 薄情痞子
摘要

目录Mysql过滤复制主库上实现从库上实现一些问题mysql过滤复制 两种思路: 主库的binlog上实现(不推荐,尽量保证主库binlog完整) 从库的sql线

mysql过滤复制

两种思路:

  • 主库的binlog上实现(不推荐,尽量保证主库binlog完整)
  • 从库的sql线程上实现

所以主从过滤复制尽量不用,要用的也仅仅在从库上使用,因为要尽可能保证binlog的完整性

主库上实现

在Master 端为保证二进制日志的完整, 不使用二进制日志过滤。

主库配置参数:


#配置文件中添加

binlog-do-db=db_name     #定义白名单,仅将制定数据库的相关操作记入二进制日志。如果主数据库崩溃,那么仅仅之恢复指定数据库的内容,不建议在主服务器端使用,这样导致日志不完整。
binlog-ignore-db=db_name   #定义黑名单, 定义ignore 的库上发生的写操作将不会记录到二进制日志中

从库上实现

可以下载配置文件中


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发生的语句重写到从库的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执行到19
set gtid_next='94fc1fbe-b7a0-11eb-b0a0-000c2969aba1:20'; 将gtid分配给下一个事务

begin;commit;
set gtid_next=automatic; 系统自动分配gtid
start slave sql_thread;

到此这篇关于mysql过滤复制思路详解的文章就介绍到这了,更多相关mysql过滤复制 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: mysql过滤复制思路详解

本文链接: https://www.lsjlt.com/news/133573.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作