在MYSQL的主从复制的架构中,可以通过复制过滤器,让从节点仅复制指定的数据库和表,过滤掉不想要同步的数据。复制过滤有以下两种实现方式。
主服务器选项
主服务器只向二进制日志中记录与特定数据库相关的事件。
优点:只需要在主节点配置一次。
缺点:基于二进制的还原将无法实现,所以此方法不推荐使用。
配置方法:
白名单
[mysqld]
binlog-do-db=db1
binlog-do-db=db2
黑名单
[mysqld]
binlog-ignore-db=db3
从服务器选项
从服务器的SQL线程在读取relay log中的事件时,只读取与特定数据库(或者特定表)相关的事件并应用于本地。也就是说,从节点会从主节点复制所有的二进制日志,但是实际只从中执行一部分。
优点:不影响主节点的二进制备份还原。
缺点:1.每个从节点都要配置 2.会浪费一定的网络带宽和磁盘I/O。
配置方法:
白名单
[mysqld]
replicate_do_db=db1
replicate_do_table=db.tb1
黑名单
[mysqld]
replicate_ignore_db=db1
replicate_ignore_table=db.tb1