如果我想运行一个只在主 mysql 服务器而不是从服务器上执行的查询。假设我们有一个通过查询日志进行复制的环境。我可以和如何?
这个想法是让一些记录存档在从站上。假设主站是一个生产网站,只需要在过去一个月输入的数据才能正常运行,但从站是保存多年数据并稍后分析以更改主(生产/主)服务器上的变量的地方。
如果我想运行一个只在主 mysql 服务器而不是从服务器上执行的查询。假设我们有一个通过查询日志进行复制的环境。我可以和如何?
这个想法是让一些记录存档在从站上。假设主站是一个生产网站,只需要在过去一个月输入的数据才能正常运行,但从站是保存多年数据并稍后分析以更改主(生产/主)服务器上的变量的地方。
有一个简单得多的方法
Replication Slave 依赖于 Master 的二进制日志,以便将 SQL 从它们传送到 Slave 的本地中继日志中。只是告诉Master不要记录SQL
这里的关键是在其会话中禁用二进制日志记录。Slave 不知道是什么击中了 Master,因为 Master 将执行
DELETE
而不记录DELETE
.试试看 !!!
唯一的方法是让您拥有另一个具有相同数据的表,并将其从复制中排除
my.cnf
。MySQL 的复制将复制并执行您在相关表和/或数据库上执行的每条语句。因此,当您在 master 上执行某些操作时,slave 也会执行它,因为它的目标是 do-replicate 列表上的一个表。
现在,您的解决方案是创建 table
B
并复制 table 的所有内容A
。例如,向表B
中添加一个附加字段。custom
每 X 分钟/小时/天/月运行一次 cronjob 以:B
删除表中的所有行custom = 0
A
表中B
:INSERT INTO b (SELECT * FROM a);
B
,使用custom = 1
.希望这可以帮助。