General error "InnoDB is limited to row-logging" - Remote MariaDB

I’ve just today set up a container running MariaDB to centralise databases into one server. Currently my production install runs fine on a local mysql server.

On moving the database across and updating the config, I’m met with an error 500 when browsing and requested to check the nextcloud log, which reports the following:

General error: 1665 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED

Google has suggested I add binlog_format=mixed to my my.cnf to resolve, but before I do anything I’m looking for input from the community:

  • is this the recommended permanent solution?


Yes, either the mixed mode or disable it. The documentation just refers to the database manual on this point:

Excellent, thank you!