在 MySQL 8.0 中禁用二进制日志

IGG*_*GGt 10 mysql log mysql-8.0

如何在 MySQL 8.0 上禁用二进制日志记录?

我需要导入一个大型 MySQLDump 文件,并且不想用大量 GB 的数据填充二进制日志。在过去,我会设置log_bin=0my.cnf并重新启动数据库。

但是在 MySQL 8.0 中,我尝试了各种设置,但每次登录数据库并运行:

SELECT @@global.log_bin;

它不断返回 1

我试过了:

log_bin = 0
log_bin = OFF
#log_bin = 1
Run Code Online (Sandbox Code Playgroud)

是否可以禁用二进制日志?

小智 7

除了指定相应的命令行参数,您还可以添加一个选项my.cnf

  1. 编辑my.cnf并添加skip-log-bin到该[mysqld]部分。

  2. 重新开始 mysqld

  3. 享受没有二进制日志的乐趣

请注意,这将一直有效,直到您从配置文件中删除该选项。


小智 2

来自MySQL 8.0参考手册,第5.4.4节:

\n
\n

以下讨论描述了影响二进制日志记录操作的一些服务器选项和变量。有关完整列表,请参见第 17.1.6.4 节,\xe2\x80\x9c 二进制日志记录选项和变量\xe2\x80\x9d。

\n

默认情况下启用二进制日志记录(log_bin 系统变量设置为 ON)。例外情况是,如果您使用 mysqld 通过使用 --initialize 或 --initialize-insecure 选项调用来手动初始化数据目录,则默认情况下禁用二进制日志记录,但可以通过指定 --log-bin 选项来启用它。

\n

要禁用二进制日志记录,您可以在启动时指定 --skip-log-bin 或 --disable-log-bin 选项。如果指定了这两个选项之一并且还指定了 --log-bin,则后面指定的选项优先。

\n
\n