我想连接并执行一个(或有时几个)SQL 语句,而不是将这些语句复制到从站。
我没有复制做或复制忽略配置,所以我不能从use
一些非复制数据库发送命令。我知道:
set global sql_slave_skip_counter = 1
但那是在奴隶身上。我希望能够在主服务器上运行类似的命令,并且不会将以下 N 个命令发送到从服务器(我猜这意味着也没有登录到二进制日志中)。
我想连接并执行一个(或有时几个)SQL 语句,而不是将这些语句复制到从站。
我没有复制做或复制忽略配置,所以我不能从use
一些非复制数据库发送命令。我知道:
set global sql_slave_skip_counter = 1
但那是在奴隶身上。我希望能够在主服务器上运行类似的命令,并且不会将以下 N 个命令发送到从服务器(我猜这意味着也没有登录到二进制日志中)。
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 ;
当心.....!
SET sql_log_bin=0;
一段时间后(大约一分钟后),主 MySQL 服务器自动将此 0 值设置为 1。它不会等到我们明确将其设置为 1。所以根据我的经验,这根本不是关闭二进制日志记录的安全方法......!