如何从RDS Mysql复制中排除一些表

时间:2017-04-04 04:01:16

标签: mysql replication rds

我在RDS(主/从)上有一个集群结构......并且在主服务器上创建的所有临时表都在从服务器上复制。我不希望那样......

我想要这样的陈述:

  

创建临时表tmp为(select * from tb);

......不要复制。

我希望没有复制临时表。我现在意识到我必须使用选项“replicate-ignore-table = name”......

但任何人都知道如何在RDS上做到这一点?我想我必须正确使用客户端工具吗?

有人有一个例子吗?

2 个答案:

答案 0 :(得分:1)

实际上,RDS包含一个部分调用Parameter Groups

(UPDATE)

对于RDS Mysql,没有这样的选项。虽然SHOW SLAVE STATUS\GSHOW MASTER STATUS\G会显示这些参数。

对于Mariadb 10,您可以选择那些允许的自定义RDS参数,例如replicate_ignore_db并创建一个参数组,然后附加到RDS实例DB Parameter Group

答案 1 :(得分:0)

您还可以将Binlog格式切换为ROW,而不是STATEMENT / MIXED。

这是因为未复制ROW binlog格式的临时表。

来源:https://dev.mysql.com/doc/refman/5.6/en/replication-features-temptables.html

编辑:仅在RDS MariaDB中,您可以使用以下选项:

  • replicate_ignore_db
  • replicate_ignore_table
  • replicate_wild_ignore_table

来源:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MariaDB.Parameters.html