mysql表存在却提示找不到表

客户反馈业务功能无法使用,排查日志发现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,创建数据库和表结构(有备份数据的记得导入),表恢复正常访问

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值