如何在 /etc/my.cnf 文件中将 binlog-format=ROW 设为启动默认值?

Con*_*nce 9 mysql innodb my.cnf binlog

我可以运行查询SET GLOBAL binlog_format = 'ROW'并且它适用于该会话。

停止并重新启动 MySQL 后,如何使此设置保持不变?

注意:我使用的是 MySQL 5.5.19 版本(使用 Moodle),我刚刚从 MyISAM 升级到 InnoDB,因此需要这个新设置。

我曾尝试将这两个命令(单独)添加到 my.cnf 中:binlog-format=ROWbinlog_format=ROW,但都不起作用。每次更改 my.cnf 时,我都会停止并重新启动 MySQL。

我在没有设置的情况下得到的错误是邪恶的错误消息:

调试信息:无法执行语句:无法写入二进制日志,因为 BINLOG_FORMAT = STATEMENT 并且至少一个表使用仅限于基于行的日志记录的存储引擎。当事务隔离级别为 READ COMMITTED 或 READ UNCOMMITTED 时,InnoDB 仅限于行日志记录。

Rol*_*DBA 15

我认为您的问题可能源于您编写指令的位置

确保将选项[mysqld]放在 /etc/my.cnf 中的标题下

[mysqld]
binlog_format = ROW
Run Code Online (Sandbox Code Playgroud)

如果将它放在任何其他标题下,mysqld 进程将看不到它。

试一试 !!!