客户反馈业务功能无法使用,排查日志发现sql异常,提示表不存在,于是去数据库查看show table,表是存在的,但是select * from table;提示表不存在。
引起这个问题的原因有多种,暂未确定具体原因(一般是数据备份或迁移导致元数据文件损坏异常),
解决思路是删除数据有问题的表或者数据库,因为里面只有一张不需要备份的数据表,可以直接删除,(如果数据需要备份且重要,请备份数据后,尝试重启mysql解决)删除库和表都是失败的:
解决方案
1.先进入mysql,查找到数据文件所在目录
mysql> show variables like ‘datadir’;
±--------------±----------------+
| Variable_name | Value |
±--------------±----------------+
| datadir | /var/lib/mysql/ |
进入该目录下可以看到多个数据库的文件夹,比如aaa,bbb,进入有问题的aaa目录下,
rm xx_xxx_task_Info.frm 删除掉数据文件(如果数据需要备份,记得先备份)
再次进入mysql,创建数据库和表结构(有备份数据的记得导入),表恢复正常访问

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐