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语句修复表。