文档首页
MySQL 8.4 参考手册
相关文档 下载此手册

MySQL 8.4 参考手册  /  ...  /  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。