MySQL进阶运维与架构复制过滤器
31.7 添加复制过滤器
在搭建MySQL的复制环境时,可以添加过滤器来指定复制哪些数据库和忽略哪些数据库,本节就简单介绍下如何为MySQL的复制过程添加过滤器。
31.7.1 复制指定的数据库
例如,只复制MySQL的goods数据库和order数据库。
1.在主数据库过滤
在主数据库的MySQL命令行执行如下命令。
mysql> SET GLOBAL binlog-do-db=goods,order;
也可以在my.cnf配置文件中进行配置。
binlog-do-db=goods,order
2.在从数据库过滤
在从数据库的命令行执行如下命令:
mysql> SET GLOBAL replicate-do-db=goods,order;
或者执行如下命令:
mysql> CHANGE REPLICATION FILTER REPLICATE-DO-DB=(goods, order);
也可以在my.cnf文件中进行如下配置:
replicate-do-db=goods,order;
31.7.2 忽略指定的数据库
例如,忽略MySQL中的goods数据库和order数据库。
1.在主数据库过滤
在主数据库的MySQL命令行执行如下命令:
mysql> SET GLOBAL binlog-ignore-db=goods,order;
也可以在my.cnf配置文件中进行如下配置:
binlog-ignore-db =goods,order
2.在从数据库过滤
在从数据库的命令行执行如下命令:
mysql> SET GLOBAL replicate-ignore-db=goods,order;
或者执行如下命令:
mysql> CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB=(goods, order);
也可以在my.cnf文件中进行如下配置:
replicate-ignore-db =goods,order;
31.7.3 复制指定的数据表
例如,复制goods数据库下的t_goods数据表和t_goods_category数据表。
在从数据库的MySQL命令行执行如下命令:
mysql> SET GLOBAL replicate-do-table=goods.t_goods,goods.t_goods_category;
也可以执行如下命令:
mysql> CHANGE REPLICATION FILTER REPLICATE_DO_TABLE=( goods.t_goods,goods.t_goods_category);
在my.cnf文件中进行如下配置:
replicate-do-table=goods.t_goods,goods.t_goods_category
还可以使用replicate-wild-do-table选项指定复制的数据表,replicate-wild-do-table选项支持使用正则表达式来指定需要复制的数据表。
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE =( goods.t_goods%);
31.7.4 忽略指定的数据表
例如,忽略goods数据库下的t_goods数据表和t_goods_category数据表。
在从数据库的MySQL命令行执行如下命令:
mysql> SET GLOBAL replicate-ignore-table=goods.t_goods,goods.t_goods_category;
也可以执行如下命令:
mysql> CHANGE REPLICATION FILTER REPLICATE_ IGNORE_TABLE=( goods.t_goods,goods.t_goods_category);
在my.cnf文件中进行如下配置:
replicate-ignore-table =goods.t_goods,goods.t_goods_category
还可以使用REPLICATE-WILD-IGNORE-TABLE选项指定忽略的数据表,该选项支持使用正则表达式来指定需要忽略的数据表。语法格式如下:
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE =( goods.t_goods%);
注意:可以为过滤器指定通道。例如:
mysql> CHANGE REPLICATION FILTER REPLICATE-DO-DB=(goods, order) FOR CHANNEL ‘channel-name’;
关于MySQL复制过滤器的内容,读者也可以参考MySQL的如下官方地址,这里不再赘述。
·https://dev.mysql.com/doc/refman/8.0/en/using-system-variables.html;
·https://dev.mysql.com/doc/refman/8.0/en/replication-options-slave.html;
·https://dev.mysql.com/doc/refman/8.0/en/change-replication-filter.html;
·https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html;
·https://dev.mysql.com/doc/refman/8.0/en/replication-rules.html。
- 点赞
- 收藏
- 关注作者
评论(0)