MySQL复制:暂时阻止复制到从属的特定SQL语句?

时间:2008-12-10 06:07:34

标签: mysql replication

我想连接并执行一个(有时是几个)SQL语句,而不是那些复制到从属语句。

我没有replicate-do或replicate-ignore配置,所以我不能use一些非复制数据库发送命令。我知道:

set global sql_slave_skip_counter = 1

但那是奴隶。我希望能够在主服务器上运行类似的命令,并且不会将以下N个命令发送给从服务器(我猜这意味着不会记录在binlog中)。

2 个答案:

答案 0 :(得分:15)

SET sql_log_bin=0正是您正在寻找的。需要SUPER priv。,并且会关闭会话中的命令记录,直到您将其设置为1.请参阅http://dev.mysql.com/doc/refman/5.0/en/server-session-variables.html#sysvar_sql_log_bin

SET sql_log_bin=0;
UPDATE ... ;
INSERT ... ;
DELETE ... ;
SET sql_log_bin=1 ;

答案 1 :(得分:2)

小心.....!

SET sql_log_bin=0;

Master MySQL服务器会在一段时间后(约一分钟后)自动将此0值设置为1。它不会等到我们明确地将它设置为1.所以根据我的经验,这根本不是一个安全的方法来关闭二进制日志.......