7

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

我没有复制做或复制忽略配置,所以我不能从use一些非复制数据库发送命令。我知道:

set global sql_slave_skip_counter = 1

但那是在奴隶身上。我希望能够在主服务器上运行类似的命令,并且不会将以下 N 个命令发送到从服务器(我猜这意味着也没有登录到二进制日志中)。

4

2 回答 2

15

SET sql_log_bin=0就是你要找的。需要超级权限,并且会关闭会话中的命令日志记录,直到您将其设置回 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 ;
于 2008-12-10T06:42:36.927 回答
2

当心.....!

SET sql_log_bin=0;

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

于 2011-11-08T19:16:02.070 回答