InnoDB: Error: table `mysql`.`innodb_table_stats` does not exist in the InnoDB internal问题解决
Posted MateCloud微服务
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于InnoDB: Error: table `mysql`.`innodb_table_stats` does not exist in the InnoDB internal问题解决的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 5.6 解决InnoDB: Error: Table "mysql"."innodb_table_stats" not found.问题
Error: Table "mysql"."innodb_table_stats" not found.
MySQL Error--InnoDB Table mysqlinnodb_index_stats has length mismatch in the column
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist(