我想知道是否有任何简单的方法可以使方案在两个不同的 MySQL 集群中保持一致。除了经典复制之外,我还想要一个特殊的“复制”,它可以在另一个集群(即该集群的主节点)上重现所有 DDL 查询(CREATE、ALTER、DROP、...)。
我不需要复制实际数据。
有没有人做过或尝试过这样的事情?
我想知道是否有任何简单的方法可以使方案在两个不同的 MySQL 集群中保持一致。除了经典复制之外,我还想要一个特殊的“复制”,它可以在另一个集群(即该集群的主节点)上重现所有 DDL 查询(CREATE、ALTER、DROP、...)。
我不需要复制实际数据。
有没有人做过或尝试过这样的事情?
您可以根据执行查询的数据库过滤 MySQL 中的复制。但是,这并不妨碍您在其他数据库中进行更改!所以你可以这样做;
USE ddl_repl_db;
ALTER TABLE other_db.foo ADD COLUMN <etc>
这取决于您正确配置服务器。我已经有一段时间没有设置 MySQL 复制了,但是 IIRC 你既可以过滤从主服务器发送的用于复制的内容,也可以过滤你在从服务器上接受的内容。
老了,但搜索量仍然很高。
因此,在您的 DDL 副本上,将所有表引擎设置为BLACKHOLE