文档主页
MySQL 9.0 参考手册
相关文档 下载本手册

MySQL 9.0 参考手册  /  ...  /  SET sql_log_bin 语句

15.4.1.3 SET sql_log_bin 语句

SET sql_log_bin = {OFF|ON}

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

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

设置此系统变量的会话值是一个受限制的操作。会话用户必须拥有设置受限制的会话变量的足够权限。请参阅 第 7.1.9.1 节,“系统变量权限”

无法在事务或子查询中设置 sql_log_bin 的会话值。

将此变量设置为 OFF 会阻止在二进制日志中为事务分配新的 GTID。如果您使用 GTID 进行复制,这意味着即使稍后重新启用二进制日志记录,从此时写入日志的 GTID 也无法反映在此期间发生的任何事务,因此实际上这些事务已丢失。

mysqldump 在使用 GTID 的服务器上从转储文件中添加了一个 SET @@SESSION.sql_log_bin=0 语句,在重新加载转储文件时禁用二进制日志记录。该语句可防止在执行转储文件中的事务时生成和分配新的 GTID,从而使用事务的原始 GTID。