Error number: MY-010614; Symbol: ER_NDB_CLEANING_STRAY_TABLES; SQLSTATE: HY000
Message: NDB: Cleaning stray tables from database ‘%s’
MySQL ER_NDB_CLEANING_STRAY_TABLES 错误( MySQL Error Number: MY-010614; Symbol: ER_NDB_CLEANING_STRAY_TABLES)是指MySQL服务器在检测数据库中的表的时候无法发现任何实际用于存储数据的表,而只发现一些意外的表对象。当MySQL服务器尝试读取或者更新已经存在的表时,就会返回此错误消息:
Error Number: MY-010614; Symbol: ER_NDB_CLEANING_STRAY_TABLES
SQLSTATE: HY000
Message: NDB cleaning up stray tables
错误说明:
ER_NDB_CLEANING_STRAY_TABLES错误指MySQL服务器发现数据库中只存在一些意外的表对象,没有发现任何实际用于存储数据的表时会返回此错误消息。
比如,在MySQL服务器上执行以下查询时,就可能出现此错误:
SELECT * FROM stray_table;
在这种情况下,MySQL服务器会返回ER_NDB_CLEANING_STRAY_TABLES错误,提示它无法发现指定的strat_table表,因为它可能只是一些意外的表对象,而不是作为存储数据的实际表。
解决方法:
1.第一步:检查对应的日志文件,特别是MySQL error log。检查是否有不属于MySQL的其他应用程序正在操作表的记录。
2.第二步:如果有可能,可以考虑重启MySQL服务器以解决这个问题,或者使用下面的命令:
SET GLOBAL ndb_force_initial_startup=FORCE;
上面的命令会强制MySQL服务器从头开始对表对象进行检查,识别哪些是存储数据的实际表,哪些只是意外的表对象。
3.第三步:再次考虑重启MySQL服务器,以消除任何未清除的意外表对象。
总之,MySQL ER_NDB_CLEANING_STRAY_TABLES 错误是指MySQL服务器无法发现任何实际用于存储数据的表,将尝试重新扫描表对象,以识别存储数据的实际表,识别哪些只是意外的表对象,然后在必要时重启MySQL服务器。