I'm trying to configure MySQL on a Bitnami-prepared VM for replication (Not to be confused with MySQL With Replication from Bitnami), and I am having issues with its binary logging.
When I add the line log-bin = mysql-bin
or log_bin = mysql-bin
in the my.cnf file under [mysqld]
, everything saves and MySQL restarts just fine. But when I test my application, only read transactions are working. Editing or creating new content fails.
I haven't found another cnf file that I'm conflicting with, and the bin logs do appear. But there seems to be some strange effects happening that I haven't encountered when configuring other MySQL servers in the past.
Anyone have an idea about what's going on?
I did some further digging and discovered that the culprit was our 'transaction-isolation' configuration. We have ours set to 'READ-COMMITTED' to help address locking issues, and this configuration does not allow 'STATEMENT' binary logging ('binlog_format'), which is the default setting on our server. The effect was restricting our transactions to read-only.
The solution was to set the 'binlog_format' to 'ROW' (or MIXED). Obviously people who might ever reference this shouldn't set that unless they know their system can operate under that condition, but in our case it's a viable option.
It certainly has nothing to do with Bitnami. Just a configuration restriction.