我有一个MEMORY表,在多个数据库中具有相同的名称。此外,随着时间的推移,将创建包含此相同表的新数据库(因此包含该表的数据库列表会随时间变化)。
定期发生停止从属的复制错误,由该表中的重复键引起(MySQL文档指出在复制MEMORY表时可能出现的一些问题,我可能遇到此问题)。但是,我不需要复制此表,因此一个可行的解决方案可能是避免复制它。
有没有办法避免在多个数据库中复制所有具有相同名称的表?
(类似--replicate-ignore-table=*.mytable
或--replicate-wild-ignore-table=%.mytable
)
答案 0 :(得分:1)
我找到了解决方案。
您可以使用--replicate-wild-ignore-table=%.mytable
。
我在发布问题之前尝试了一次,但我犯了一个错误,而不是使用--replicate-wild-ignore-table
我使用--replicate-wild-do-table
... oops
甚至,MySQL文档声明这是可能的,并显示以下示例:
示例: - replicate-wild-ignore-table = foo%.bar%不复制 使用数据库名称以foo开头的表的更新 表名以bar开头。
尽管如此,文档很长,有人(像我一样)在寻求实现既定目标时可能会错过这一部分,所以我会留下这个问题,如果发生这种情况,我会发布我的答案。