简体   繁体   中英

Getting error Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT

I have a local development server where i have tested nearly all quartz functionality (scheduling/execution/etc) where mysql setting log_bin = off When i deployed same script on my staging server(log_bin = on) i am getting following error.

JobStoreTX.Log      Failure occurred during job recovery: Couldn't recover jobs: 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.

Quartz.JobPersistenceException: Couldn't recover jobs: 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. ---> MySql.Data.MySqlClient.MySqlException: 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.

On digging down i am able to found out it is due to binlog_format=Statement

Anyway i can able to work with above setting(mean's cahgning the binlog_format to Mixed)

As per suggestions from mysql forums i have changed the binlog_format = MIXED And it start working. What i further suggests is that there should be note in mysql usage for quartz that if log_bin settings is on then binlog_format should be set to MIXED

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM