MySQL 复制:暂时阻止特定 SQL 语句复制到从属服务器?
我想连接并执行一个(或有时是多个)SQL 语句,并且不将这些语句复制到从属服务器。
我没有replicate-do 或replicate-ignore 配置,因此我无法使用
某些非复制数据库来发送命令。 我知道:
set global sql_slave_skip_counter = 1
但那是在奴隶身上。 我希望能够在主服务器上运行类似的命令,并且不将以下 N 个命令发送到从服务器(我猜这意味着也没有记录在二进制日志中)。
I want to connect and execute one (or sometimes several) SQL statements, and NOT have those replicated to the slaves.
I have no replicate-do or replicate-ignore configs, so I can't use
some non-replicated database to send the commands from. And I know about:
set global sql_slave_skip_counter = 1
But that's on the slave. I'd like to be able to run a similar command on the master and have the following N commands not sent out to the slaves (which I guess means not logged in the binlogs, either).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SET sql_log_bin=0
就是您要查找的内容。 需要超级权限,并且将关闭会话中的命令日志记录,直到您将其设置回 1。请参阅 http://dev.mysql.com/doc/refman/5.0/en/server-session-variables.html#sysvar_sql_log_binSET sql_log_bin=0
is what you're looking for. Requires SUPER priv., and will turn off logging of commands from your session until you set it back to 1. See http://dev.mysql.com/doc/refman/5.0/en/server-session-variables.html#sysvar_sql_log_bin当心.....!
SET sql_log_bin=0;
主MySQL服务器在一段时间后(大约一分钟后)自动将这个0值设置为1。 它不会等到我们明确地将其设置为 1。所以根据我的经验,这根本不是关闭二进制日志记录的安全方法......!
BE CAREFUL.....!
SET sql_log_bin=0;
Master MySQL server automatically set this 0 value to 1 after a while(after about one minute). It does not wait until we explicitly set it to 1. So according to my experience this not a safe way to turn off binary logging at all.....!