MySQL Error number: MY-010688; Symbol: ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT; SQLSTATE: HY000

文档解释

Error number: MY-010688; Symbol: ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT; SQLSTATE: HY000

Message: NDB Binlog: unknown non data event %d for %s. Ignoring…

Error ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT,MySQL错误号为MY-010688,SQLSTATE是HY000,该错误表示MySQL不能处理binlog中的非数据事件。

错误说明:

MySQL这个错误意味着MySQL不能处理binlog中的非数据事件。binlog是MySQL存储数据修改状态的事务日志,但有时会出现不同的非数据事件,这些不应当写入binlog的事件。如果MySQL将这些事件写入binlog,就会收到ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT错误,表示无法处理这些非数据事件。

常见案例

ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT的常见原因是使用了MySQL的外部备份功能,即MySQL Enterprise Backup。MySQL Enterprise Backup会只允许备份和恢复binlog中的数据,而且可能会禁止备份和恢复非数据事件。此外,MySQL Enterprise Backup还将发送日志消息,显示哪些事件不被处理,同时在binlog中写入了这些事件,导致ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT错误。

解决方法:

一般处理方法及步骤

1. 将binlog设置为ROW格式:在MySQL服务器中,可以使用以下命令将binlog格式设置为ROW:

SET GLOBAL binlog_format=’ROW’;

2. 减少MySQL Enterprise Backup日志消息:如果MySQL Enterprise Backup产生大量日志消息,可以减少这些消息,以防止它产生不被处理的非数据事件,可以使用–very-quiet选项:

# mysql-enterprise-backup –very-quiet

3. 关闭MySQL Enterprise Backup:如果没有使用MySQL Enterprise Backup,可以关闭它:

# mysql-enterprise-backup –stop

4. 升级MySQL服务器:可以尝试更新MySQL服务器至最新的稳定版本。MySQL的新版本可能修复了这个错误,可以使用下面的命令来升级:

# apt-get update

# apt-get upgrade

此外,还可以联系MySQL技术支持小组来寻求帮助,以解决你遇到的ER_NDB_BINLOG_UNKNOWN_NON_DATA_EVENT错误问题。

你可能感兴趣的