简体   繁体   English

收到错误无法执行语句:由于BINLOG_FORMAT = STATEMENT,因此无法写入二进制日志

[英]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. 我有一个本地开发服务器,在这里我测试了几乎所有的石英功能(计划/执行/等),其中mysql设置log_bin = off当我在登台服务器上部署相同脚本(log_bin = on)时,出现以下错误。

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. Quartz.JobPersistenceException:无法恢复作业:无法执行语句:由于BINLOG_FORMAT = STATEMENT并且至少一个表使用了仅限于基于行的日志记录的存储引擎,因此无法写入二进制日志。 InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED. 当事务隔离级别为READ COMMITTED或READ UNCOMMITTED时,InnoDB仅限于行记录。 ---> 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. ---> MySql.Data.MySqlClient.MySqlException:无法执行语句:由于BINLOG_FORMAT = STATEMENT并且至少一个表使用了仅限于基于行的日志记录的存储引擎,因此无法写入二进制日志。 InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED. 当事务隔离级别为READ COMMITTED或READ UNCOMMITTED时,InnoDB仅限于行记录。

On digging down i am able to found out it is due to binlog_format=Statement 在向下挖掘时,我发现是由于binlog_format = Statement

Anyway i can able to work with above setting(mean's cahgning the binlog_format to Mixed) 无论如何,我可以使用上面的设置(将binlog_format的含义改为“混合”)

As per suggestions from mysql forums i have changed the binlog_format = MIXED And it start working. 根据mysql论坛的建议,我更改了binlog_format = MIXED并且它开始工作。 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 我进一步建议的是,在石英使用的mysql使用中应注意,如果log_bin设置为on,则binlog_format应该设置为MIXED

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 由于BINLOG_FORMAT = STATEMENT,因此无法写入二进制日志 - impossible to write to binary log since BINLOG_FORMAT = STATEMENT 警告:使用语句格式写入二进制日志的不安全语句,因为 BINLOG_FORMAT = STATEMENT - Warning: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT 1548 [警告]由于BINLOG_FORMAT = STATEMENT,因此使用语句格式将不安全的语句写入二进制日志 - 1548 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT 从 spark 写入 MySql 时出现错误 BINLOG_FORMAT = STATEMENT - Error BINLOG_FORMAT = STATEMENT when writing from spark to MySql binlog_format =带有MySQL复制的STATEMENT和CURRENT_TIMESTAMP - binlog_format = STATEMENT and CURRENT_TIMESTAMP with MySQL replication 将binlog_format更改为行后,mysql 5.6仍记录为语句 - mysql 5.6 still records as statement after changing binlog_format to row 无法修改 binlog_format 的默认参数组 - Cannot modify a default parameter group for binlog_format 将MySQL从服务器切换为主服务器-BINLOG_FORMAT - Switch MySQL slave to master - BINLOG_FORMAT mysql:当确切地将语句“Start binlog_dump to slave_server”登录到主错误日志时 - mysql: When exactly the statement “Start binlog_dump to slave_server” logged in to the master error log READ COMMITTED ERROR 1665无法写入二进制日志 - READ COMMITTED ERROR 1665 impossible to write to binary log
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM