MySQL Error number: MY-010801; Symbol: ER_EVENT_ERROR_CREATING_QUERY_TO_WRITE_TO_BINLOG; SQLSTATE: HY000

文档解释

Error number: MY-010801; Symbol: ER_EVENT_ERROR_CREATING_QUERY_TO_WRITE_TO_BINLOG; SQLSTATE: HY000

Message: Event Error: An error occurred while creating query string, before writing it into binary log.

错误说明

ER_EVENT_ERROR_CREATING_QUERY_TO_WRITE_TO_BINLOG,MYSQL的错误,该错误的完整格式为:Error:MY-010801;符号:ER_EVENT_ERROR_CREATING_QUERY_TO_WRITE_TO_BINLOG;SQLSTATE:HY000。这个错误表明在定义一个event时,Mysql尝试在binlog中创建一个查询,但查询本身出现了错误。

常见案例

此错误通常发生在:

1.active_query_logging_events变量被设置为0(关)。

2.指定了一个不允许的binlog-format值(如row、mixed等)。

3.在binlog-rows-query-log-events变量被设置为on,但同一个my.cnf或同一MySQL服务中,另一个binlog-format变量仍被设置为statement之后,每个query_log_event中的log_event的flags值不支持binary格式。

解决方法

1.首先,检查设置,看active_query_logging_events变量是否被设置为1(启):

SHOW VARIABLES LIKE ‘active_query_logging_events’

假如没有被设置,则使用:

SET active_query_logging_events = 1

2.接着,检查binlog_format,看是否存在这些特殊的值:row或者mixed:

SHOW VARIABLES LIKE ‘binlog_format’;

一旦你发现这两个值,你应当改用STATEMENT,即:

SET binlog_format = ‘STATEMENT’;

3.最后,检查binlog_rows_query_log_events变量,看它是否被设置为on以及binlog_format是否被设置为statement:

SHOW VARIABLES LIKE ‘binlog_rows_query_log_events’;

如果你发现了它被设置为on,则将它设置为off:

SET binlog_rows_query_log_events = 0;

你可能感兴趣的