I had changed the table storage engine format from MyISAM and InnoDB to PBXT for my blog and some other blogs I host. Little did I know.
Of course WordPress will hide any and all errors from plain sight, so the symptom I got to see was that I couldn’t write any new blog posts, or generally make any modification to the database at all.
When I decided to roll back, I got this:
ERROR 1598 (HY000): Binary logging not possible. Message: Statement-based format required for this statement, but not allowed by this combination of engines
Oops. That’s pretty nasty. I can’t even roll back? Well, turns out I could. First off all let’s check the current log format:
show global variables like 'binlog_%';
MIXED here, but is not properly set. We can set it for the current session, like so:
set session binlog_format = 'MIXED';
… but that is only a temporary workaround and only possible for our currently running session. I imagine it would be possible to use the
global keyword instead of
session, but I don’t know whether that survives DB server restarts. So, to be sure, I decided to set:
binlog_format = MIXED
my.cnf. Ever since, even PBXT is happily running as the storage engine.