MySQL Error number: MY-010647; Symbol: ER_NDB_BINLOG_SKIPPING_DROP_OF_DB_CONTAINING_LOCAL_TABLES; SQLSTATE: HY000 报错 故障修复 远程处理

文档解释

Error number: MY-010647; Symbol: ER_NDB_BINLOG_SKIPPING_DROP_OF_DB_CONTAINING_LOCAL_TABLES; SQLSTATE: HY000

Message: NDB Binlog: Skipping drop database ‘%s’ since it contained local tables binlog schema event ‘%s’ from node %d.

错误说明:

MY-010647 错误(ER_NDB_BINLOG_SKIPPING_DROP_OF_DB_CONTAINING_LOCAL_TABLES)主要表示一种在MySQL中的错误,该错误涉及到NDB集群以及MySQL二进制日志之间的关联。当程序尝试从NDB集群删除一个数据库但是该数据库中包含有本地表的时候,此时此错误就会被触发。

常见案例

这种常见的案例出现在MySQL主从复制中,其中主节点拥有NDB集群,而从节点拥有MySQL二进制日志,而且由于存在一些注册问题,MySQL客户端可能会试图从NDB集群中删除一个数据库,并且该数据库可能包含有本地表,而这种操作会导致上述的错误被触发。

解决方法:

第一步:在NDB集群中,首先需要将包含本地表的数据库中的表删除,或者移动到另一个数据库,这样才能保持NDB集群的稳定性。

第二步:当重点数据库中有本地表的时候,要确保让MySQL客户端使用DROP DATABASE ` 重点数据库名 ` 命令来更新MySQL二进制日志,这样才能确保在之后进行备份时能够获得稳定的SQL语句,并且可以正确地执行它们。

第三步:最后一步就是在MySQL服务器中重新启动MySQL二进制日志,这样,MySQL客户端就可以用DROP Databse命令来删除一个数据库,而不会引发MY-010647错误。


数据运维技术 » MySQL Error number: MY-010647; Symbol: ER_NDB_BINLOG_SKIPPING_DROP_OF_DB_CONTAINING_LOCAL_TABLES; SQLSTATE: HY000 报错 故障修复 远程处理