我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么解决Mysql数据库提示innodb表不存在的问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么解决Mysql数据库提示innodb表不存在的问题

本篇内容主要讲解“怎么解决Mysql数据库提示innodb表不存在的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决Mysql数据库提示innodb表不存在的问题”吧!

发现mysql的error.log里面有报错:

InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
InnoDB: Error: Fetch of persistent statistics requested for table "hj_web"."wechat_res" but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.
那么需重新构建mysql这个databases的5个表:

步骤:
1、登录数据库,进入mysql库,执行如下SQL删除5张表
记住,一定要是drop table if exists

mysql> use mysql;
mysql> drop table if exists innodb_index_stats; 
mysql> drop table if exists innodb_table_stats; 
mysql> drop table if exists slave_master_info; 
mysql> drop table if exists slave_relay_log_info; 
mysql> drop table if exists slave_worker_info;


执行完后,可以用show tables查看一下,看表的数据是否已经比删除之前减少了,如果减少了,说明你成功了!

2、上一步操作完成后,停止数据库,并进入到数据库数据文件所在目录,删除上面5个表所对应的idb文件,如下所示:

# /etc/init.d/mysqld stop
# cd /data/mysql/data/mysql/
# ls -l *.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:17 innodb_index_stats.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:17 innodb_table_stats.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:14 slave_master_info.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:14 slave_relay_log_info.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:14 slave_worker_info.ibd



# /bin/rm -rf *.ibd

3、重新启动数据库,进入到mysql库,重建上面被删除的表结构:
数据库的建表脚本在mysql软件的安装目录的share目录下或者mysql的安装包的script目录下,我们这里可以find一下:

# find / -name mysql_system_tables.sql
/usr/local/mysql-5.6.29/scripts/mysql_system_tables.sql
# /etc/init.d/mysqld start
mysql> use mysql;
mysql> source /usr/local/mysql-5.6.29/scripts/mysql_system_tables.sql
mysql> show tables;
28 rows in set (0.00 sec)


再随便desc下5个的其中一倆个表看看:

mysql> desc innodb_table_stats;
mysql> desc slave_master_info;


最后再查看mysql的error.log日志,
确认没有新的报错之后,就表示成功。

到此,相信大家对“怎么解决Mysql数据库提示innodb表不存在的问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么解决Mysql数据库提示innodb表不存在的问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle存储过程提示表不存在怎么解决

当在Oracle存储过程中提示表不存在时,通常是由于以下原因导致的:表名拼写错误:检查存储过程中引用的表名是否正确拼写。表所在的模式不正确:确保存储过程中引用的表所在的模式是正确的。表已被删除:如果表已被删除,需要重新创建表或者修改存储过程
oracle存储过程提示表不存在怎么解决
2024-04-09

数据库上下文不存在或无效问题怎么解决

数据库上下文不存在或无效问题可以通过以下几个步骤来解决:检查数据库连接是否正确:确认数据库的连接字符串是否正确,包括数据库的地址、端口号、用户名和密码等信息。检查数据库是否正在运行:确认数据库服务是否已启动,并且处于正常运行状态。可以尝试重
2023-10-26

mysql创建数据库提示已存在怎么办

mysql 创建数据库时提示已存在,解决方法:1. 检查数据库名称;2. 查看现有数据库;3. 删除现有数据库;4. 重新创建数据库;5. 授予权限。解决 MySQL 创建数据库提示已存在的问题当您尝试使用 CREATE DATABASE
mysql创建数据库提示已存在怎么办
2024-04-14

mysql跨数据库join问题怎么解决

在MySQL中,跨数据库进行JOIN操作可以通过在JOIN查询中指定数据库名和表名的方式来实现。具体方法如下:1.使用完全限定表名进行JOIN:在JOIN查询语句中,可以直接使用完全限定表名(即包含数据库名和表名的表名)来指定需要JOIN
mysql跨数据库join问题怎么解决
2024-04-22

mysql创建数据库提示已存在怎么回事

mysql 创建数据库提示已存在的原因包括:数据库名称冲突、大小写敏感性、特殊字符限制、连接错误、权限问题、命名冲突和表名冲突。请检查并解决这些潜在原因。MySQL 创建数据库提示已存在的原因创建 MySQL 数据库时出现 "已存在" 提
mysql创建数据库提示已存在怎么回事
2024-04-05

redis删除数据还存在问题怎么解决

如果使用Redis删除数据后数据仍然存在的问题,可能是因为Redis的持久化机制导致的。Redis有两种持久化方式,一种是RDB快照,一种是AOF日志。如果开启了持久化功能,可能是因为数据已经被持久化到磁盘中,导致删除操作无效。解决方法如
redis删除数据还存在问题怎么解决
2024-04-09

oracle数据库表空间扩容的问题怎么解决

本文小编为大家详细介绍“oracle数据库表空间扩容的问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“oracle数据库表空间扩容的问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.查看表
2023-07-05

编程热搜

目录