我想连接并执行一个(有时是几个)SQL语句,而不是那些复制到从属语句。
我没有replicate-do或replicate-ignore配置,所以我不能use
一些非复制数据库发送命令。我知道:
set global sql_slave_skip_counter = 1
但那是奴隶。我希望能够在主服务器上运行类似的命令,并且不会将以下N个命令发送给从服务器(我猜这意味着不会记录在binlog中)。
答案 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.所以根据我的经验,这根本不是一个安全的方法来关闭二进制日志.......