MySQL 阻止写入事务的二进制日志记录 - Bitnami

MySQL Binary Logging Preventing Write Transactions - Bitnami

我正在尝试在 Bitnami 准备的 VM 上配置 MySQL 以进行复制(不要与 MySQL 使用来自 Bitnami 的复制相混淆),我的二进制日志记录有问题.

当我在 [mysqld] 下的 my.cnf 文件中添加行 log-bin = mysql-binlog_bin = mysql-bin 时,一切都会保存并且 MySQL 重新启动就好了。但是当我测试我的应用程序时,只有读取事务有效。编辑或创建新内容失败。

我没有找到另一个与我有冲突的 cnf 文件,但确实出现了 bin 日志。但是似乎发生了一些我在过去配置其他 MySQL 服务器时没有遇到过的奇怪效果。

有人知道发生了什么事吗?

我做了一些进一步的挖掘,发现罪魁祸首是我们的 'transaction-isolation' 配置。我们将我们的设置为 'READ-COMMITTED' 以帮助解决锁定问题,并且此配置不允许 'STATEMENT' 二进制日志记录 ('binlog_format'),这是我们服务器上的默认设置。结果是将我们的事务限制为只读。

解决方案是将 'binlog_format' 设置为 'ROW'(或混合)。很明显,可能会参考这个的人不应该设置那个,除非他们知道他们的系统可以在那个条件下运行,但在我们的例子中,这是一个可行的选择。

当然与Bitnami无关。只是一个配置限制。