13.4.1.3 SET sql_log_bin 语句

SET sql_log_bin = {OFF|ON}

sql_log_bin变量控制是否为当前会话启用记录到二进制日志(假设启用了二进制日志本身)。默认值为ON。要为当前会话禁用或启用二进制日志记录,请将会话sql_log_bin变量设置为 OFFON

将此变量设置为OFF以便会话在对不希望复制到副本的源进行更改时暂时禁用二进制日志记录。

设置这个系统变量的会话值是一个受限的操作。会话用户必须具有足以设置受限会话变量的权限。请参阅 第 5.1.9.1 节,“系统变量权限”

不可能 sql_log_bin在事务或子查询中设置会话值。

设置此变量OFF 可防止将新的 GTID 分配给二进制日志中的事务。如果您使用 GTID 进行复制,这意味着即使稍后再次启用二进制日志记录,从此时写入日志的 GTID 也不会考虑同时发生的任何事务,因此这些事务实际上会丢失。

mysqldumpSET @@SESSION.sql_log_bin=0语句添加到来自正在使用 GTID 的服务器的转储文件,这会在重新加载转储文件时禁用二进制日志记录。该语句防止在执行转储文件时生成新的 GTID 并将其分配给转储文件中的事务,以便使用事务的原始 GTID。