MySQL 阻止写入事务的二进制日志记录 - Bitnami
MySQL Binary Logging Preventing Write Transactions - Bitnami
我正在尝试在 Bitnami 准备的 VM 上配置 MySQL 以进行复制(不要与 MySQL 使用来自 Bitnami 的复制相混淆),我的二进制日志记录有问题.
当我在 [mysqld]
下的 my.cnf 文件中添加行 log-bin = mysql-bin
或 log_bin = mysql-bin
时,一切都会保存并且 MySQL 重新启动就好了。但是当我测试我的应用程序时,只有读取事务有效。编辑或创建新内容失败。
我没有找到另一个与我有冲突的 cnf 文件,但确实出现了 bin 日志。但是似乎发生了一些我在过去配置其他 MySQL 服务器时没有遇到过的奇怪效果。
有人知道发生了什么事吗?
我做了一些进一步的挖掘,发现罪魁祸首是我们的 'transaction-isolation' 配置。我们将我们的设置为 'READ-COMMITTED' 以帮助解决锁定问题,并且此配置不允许 'STATEMENT' 二进制日志记录 ('binlog_format'),这是我们服务器上的默认设置。结果是将我们的事务限制为只读。
解决方案是将 'binlog_format' 设置为 'ROW'(或混合)。很明显,可能会参考这个的人不应该设置那个,除非他们知道他们的系统可以在那个条件下运行,但在我们的例子中,这是一个可行的选择。
当然与Bitnami无关。只是一个配置限制。
我正在尝试在 Bitnami 准备的 VM 上配置 MySQL 以进行复制(不要与 MySQL 使用来自 Bitnami 的复制相混淆),我的二进制日志记录有问题.
当我在 [mysqld]
下的 my.cnf 文件中添加行 log-bin = mysql-bin
或 log_bin = mysql-bin
时,一切都会保存并且 MySQL 重新启动就好了。但是当我测试我的应用程序时,只有读取事务有效。编辑或创建新内容失败。
我没有找到另一个与我有冲突的 cnf 文件,但确实出现了 bin 日志。但是似乎发生了一些我在过去配置其他 MySQL 服务器时没有遇到过的奇怪效果。
有人知道发生了什么事吗?
我做了一些进一步的挖掘,发现罪魁祸首是我们的 'transaction-isolation' 配置。我们将我们的设置为 'READ-COMMITTED' 以帮助解决锁定问题,并且此配置不允许 'STATEMENT' 二进制日志记录 ('binlog_format'),这是我们服务器上的默认设置。结果是将我们的事务限制为只读。
解决方案是将 'binlog_format' 设置为 'ROW'(或混合)。很明显,可能会参考这个的人不应该设置那个,除非他们知道他们的系统可以在那个条件下运行,但在我们的例子中,这是一个可行的选择。
当然与Bitnami无关。只是一个配置限制。