mysql错误: 表"mysql"."innodb_table_stats"未找到
问题原因:在Windows 7机器上安装MySQL 5.6.10时,出现了问题。错误日志中出现了innodb错误,并且无法使用临时的innodb表。经过分析,发现问题是由于缺少"mysql"."innodb_table_stats"表导致的。
解决方法:
1. 从mysql数据库中删除以下表:
- innodb_index_stats
- innodb_table_stats
- slave_master_info
- slave_relay_log_info
- slave_worker_info
2. 删除上述表的所有.frm和.ibd文件。
3. 运行给出的SQL脚本文件(five-tables.sql),重新创建上述表。
4. 重启mysqld服务。
以上操作可以解决这个问题。
这个解决方法来源于一位用户的经验,他在Windows 7机器上安装MySQL 5.6.10时遇到了相同的问题,并成功解决了。这个解决方法虽然有效,但仍需谨慎操作。
参考链接:
- [programmer.help/blogs/innodb-error-table-mysql-innodb_table_stats-not-found](https://programmer.help/blogs/innodb-error-table-mysql-innodb_table_stats-not-found.html)
最近我在一个生产服务器上遇到了这个问题,我发现大多数解决方法都涉及删除表、删除文件等操作,让我感到有些不安。所以我觉得对于以后阅读这篇文章的人来说,指出实际错误原因可能会有所帮助。在我遇到这个错误时,实际原因是我的根分区满了。当时我正在进行mysql备份,并且保存到了错误的位置。因此,解决方法就是释放一些磁盘空间并重新启动服务。在继续使用那些可能对MYSQL结构进行操作的标准解决方案之前,检查一下是否存在这种情况可能是个好主意,因为这些解决方案可能存在一些风险。祝好运!如果你正在使用Linux服务器,你可以使用命令行执行这个检查,使用df -H命令,使用-H选项输出的格式更熟悉,以MB、GB等单位显示。你需要查看输出中的Use%列,如果接近100%,那么这就是你的解决方法。如果不是,那么问题可能出在其他地方。由于我使用的磁盘使用率接近7%,所以这个方法对我没用,但我想在这里分享给那些没有图形界面可用的人,希望能帮到他们。