mysql复制--复制过滤

复制过滤:

让从节点仅仅复制指定的数据库,或指定数据库的指定数据表。主服务器有10个数据库,而从节点只需要同步其中的一两个数据库。这个时候就需要复制过滤。复制过滤器可以在主节点中实现,也可以在从节点中实现。

主节点:
在主节点的二进制事件日志中仅记录与指定数据库(数据表)相关的事件日志,但是主节点的二进制日志不完整,没有记录所有对主节点的修改操作。(不推荐)
如果要使用该方式,则在主节点的配置文件中添加如下参数:

  • binlog_do_db=”XXX,XXX,XXX”; #数据库白名单列表
  • binlog_ingore_db=”XXX,XXX,XXX”; #数据库黑名单列表。

但这两个配置参数不要同时使用。

从节点:
从服务器的 SQL Thread在Replay中继日志中的事件时,仅读取于特定数据库(数据表)相关的事件,并应用于本地。(但是浪费I/O ,浪费带宽)推荐使用
从节点复制过滤相关设置项:

  • replicate_do_db =”“; #复制的白名单
  • replicate_ingore_db =”“; #复制的黑名单
  • replicate_do_table=”“;
  • relicate_ingore_table=”“;
  • replicate_wild_do_table=”“; #更高级别的应用,通配符,应用到哪一类表的。

从节点复制过滤:

1:在从节点上查看与 replicate 相关的参数
这里写图片描述
2:停止从节点slave线程
这里写图片描述
3:修改变量,只复制【mydb】数据库
1):set 修改。但用SET配置的参数,只是临时有效,当mySQl重启时又无效了。
2):配置文件修改:如果要配置参数永久有效,则在配置文件里修改。
这里写图片描述
4:从启数据库,登录mysql
这里写图片描述
5:在从服务器查看 slave 线程状态
这里写图片描述

复制过滤测试

1:在主节点创建 testdb数据库
在主库创建testdb数据库。
这里写图片描述
在从库查看是否存在数据
这里写图片描述
2:向 mydb库修改数据
在主库创建mydb创建tb1表格。
这里写图片描述
在从表查看是否存在表格tb1
这里写图片描述

猜你喜欢

转载自blog.csdn.net/daicooper/article/details/79970130