我的用例是,我想拥有一个主数据,该主数据将主要数据组织为多个分区-每天一个分区(每天创建一个新分区)。主服务器只能保留最近10天的数据,而我需要从服务器保留所有数据。
如何在主服务器上ALTER TABLE ... DROP PARTITION
而不在从属服务器上复制?
在我看来,我必须以某种方式指示主计算机不要将此操作写入bin-log,但是我该怎么做?
答案 0 :(得分:1)
更改表以使其在Master和Slave之间有所不同,这会带来麻烦。由于差异,后续操作可能会失败。买者自负。
SET sql_log_bin = OFF;
ALTER ...; -- or any other statement
SET sql_log_bin = ON;
这会在主服务器上运行查询,但不会将其放入复制流中,从而阻止了它在从服务器上执行。
https://dev.mysql.com/doc/refman/8.0/en/set-sql-log-bin.html
我确定MariaDB与MySQL相同。
如果您正在使用某些“集群”(例如Galera),请阅读有关TOI和RSU的信息。 http://galeracluster.com/documentation-webpages/schemaupgrades.html