InnoDB: Error: table `mysql`.`innodb_table_stats` does not exist in the InnoDB internal问题解决

问题描述

本次记录一次MySQL异常导致的报错,留存以备忘,报错信息如下:

InnoDB: Error: table mysql.innodb_table_stats does not exist in the InnoDB internal

原因分析

想当然的就认为是mysql库的innodb_table_stats表损坏了,结果登录mysql查询一看,表是存在的。

接下执行如下语句:

 show create table innodb_index_stats;  
ERROR 1146 (42S02): Table'mysql.innodb_index_stats' doesn't exist  

预判表是损坏了,尝试重新建表

解决方案

进入mysql的data目录,直接删除坏表的文件

ls  /data/mysql/data/mysql

rm innodb_index_stats*

注意,以上方式还是不能彻底删除,建议如下方式

采用命令进行drop表

# 彻底删除表

drop table innodb_table_stats purge

然后再手动创建innodb_table_stats这张表,问题解决。

项目案例

在这里插入图片描述
您的微服务管家,如果觉得这个项目不错,请随手STAR一下,谢谢。
https://gitee.com/matevip/matecloud

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值