It seems MySQL does not support the flag "NO_ WRITE_ TO_ BINLOG" for TRUNCATE. So I have to wait until delay is 0, then stop the replication, make the TRUNCATE of the table/s, reset the master, and then start replication again. Really painful. Any other suggestion?
Lucas
问问题
2017 次
3 回答
3
您可以使用该命令禁用会话的二进制日志记录以执行您想要的操作。
设置 SQL_LOG_BIN = 0; 截断表; 设置 SQL_LOG_BIN = 1;
这确实需要您具有 SUPER 特权,因为您通过不将 TRUNCATE 发送到从属服务器来有效地破坏复制。
于 2008-10-07T14:14:51.157 回答
1
TRUNCATE 不能轻易使用,因为它本质上只是将数据丢弃在地板上而没有记录它这样做的事实。它在事务上是不安全的并且无法从中恢复,因此它与复制不兼容。即使您设法在复制设置中使用 TRUNCATE,您复制的数据也会损坏,或者充其量是无效的。
于 2008-10-07T14:18:33.287 回答
0
TRUNCATE 是相当严厉的。你可以只用一个 DELETE 查询吗?
于 2008-10-07T11:47:59.973 回答