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

文档解释

Error number: MY-010622; Symbol: ER_NDB_MISMATCH_IN_FRM_DISCOVERING; SQLSTATE: HY000

Message: NDB: mismatch in frm for %s.%s, discovering…

MY-010622:ER_NDB_MISMATCH_IN_FRM_DISCOVERING错误

错误说明

MY-010622错误指的是MYSQL在frm文件发现错误时它发现了一个不匹配。NDB中的表与FRM中表定义不匹配时会发生这种错误。MySQL使用frm文件来获取表的定义,如果其中的信息和NDB存储引擎中的信息不匹配,将会导致这种情况。

常见案例

通常会出现这种错误的情况是,用户在MySQL中手动修改了表中的列定义,或者在表中添加了新的列或索引,而NDB存储引擎中的定义并未及时更新。当用户试图使用此表时,将会出现这种情况。

解决方法

解决此问题的方法是使表中的定义在FRM文件和NDB存储引擎中保持一致。可以通过以下步骤来解决此问题:

1. 使用ALTER TABLE语句重新定义表字段和索引,以获得两个文件之间的一致性。

2. 使用SHOW CREATE TABLE语句重新创建数据表。

3. 到MySQL数据库中,检查表的字段定义是否与FRM文件相符合。

4. 最后,使用REPAIR TABLE语句修复表。


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