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


9

我可以运行查询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仅限于行记录。

Answers:


15

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

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

[mysqld]
binlog_format = ROW

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

试试看 !!!


这工作了!是的,它在另一个标题下。
康斯坦斯2014年

0

3个值用于binlog_format

[mysqld]
binlog_format = ROW
[mysqld]
binlog_format = STATEMENT
[mysqld]
binlog_format = MIXED
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.