![使用 --replicate-do-table 进行 MySQL 部分复制,查询依赖于非复制表](https://linux22.com/image/556699/%E4%BD%BF%E7%94%A8%20--replicate-do-table%20%E8%BF%9B%E8%A1%8C%20MySQL%20%E9%83%A8%E5%88%86%E5%A4%8D%E5%88%B6%EF%BC%8C%E6%9F%A5%E8%AF%A2%E4%BE%9D%E8%B5%96%E4%BA%8E%E9%9D%9E%E5%A4%8D%E5%88%B6%E8%A1%A8.png)
我正在考虑在 MySQL 从属服务器上使用 --replicate-do-table 来仅复制某些表。当主服务器配置为使用 MIXED 模式二进制日志记录时,确定性查询将使用语句而不是 ROW 二进制数据写入二进制日志。但是,如果此 INSERT/UPDATE 包含非复制表上的 JOIN,则它可能会在从属服务器上中断。有什么办法可以解决这个问题吗?还是我完全误解了?
答案1
我认为您理解正确,引用未复制的表的查询将在从服务器上失败,从而导致复制停止。您可以在从服务器上创建虚拟表,以便连接成功,但如果查询结果受到影响,则从服务器上的更新将与主服务器上的更新不匹配,两者将出现分歧。