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错误问题。