如何在主服务器上运行 DELETE 查询而不在从服务器上执行相同的 DELETE?

Neo*_*Neo 8 mysql replication

如果我想运行一个只会在主 mysql 服务器而不是从服务器上执行的查询。假设我们有一个通过查询日志进行复制的环境。我能和如何?

这个想法是在从站上存档一些记录。假设 master 是一个生产网站,只需要在过去一个月内输入的数据才能正常运行,而 slave 是保存年份数据的地方,稍后分析以更改主(生产/主)服务器上的变量。

Rol*_*DBA 11

有一个非常简单的方法

Replication Slave 依赖于 Master 的二进制日志,以便将 SQL 从它们传送到 Slave 的本地中继日志中。只是告诉法师不记录SQL

SQLSTMT="SET SQL_LOG_BIN=0;"
SQLSTMT="${SQLSTMT} DELETE FROM tablename WHERE column='our filters'"
mysql -u... -p... -Ae"${SQLSTMT}"
Run Code Online (Sandbox Code Playgroud)

这里的关键是在其会话中禁用二进制日志记录。奴隶不会知道什么打的,因为主机将执行DELETE,并没有记录DELETE

试一试 !!!

  • +1 抱歉拖延了几年才选择此作为答案,直到现在我才看到:)。 (3认同)