表存在,表数据文件也存在,报ERROR 1146 (42S02): Table 'xxx.xxx' doesn't exist

xyang0917
博客专家认证
2014-02-10 11:37:30
select或desc表,提示ERROR 1146 (42S02): Table 'product_manager.product' doesn't exist这个错误,请在线的朋友指教,这问题比较急,非常感谢!
操作步聚:
use product_manager;
show tables; 有product这张表
desc 或 select product提示上面的错误。

在mysql的datadir目录下也有product.frm文件。尝试过一些方法来解决,但都没用,比如将product.frm放到其它数据库中,重新建表。数据库只开启了错误日记功能。请求支援,万分感谢!!!!
...全文
40220 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34164868 2016-08-03
  • 打赏
  • 举报
回复
mysql--1146--报错 先找到数据库存放地址,即Data文件夹(复制留下来) 再用电脑管家把所有的mysql卸载 然后把mysql文件夹弄走(卸载不会清掉它,需手动,一般在C:\ProgramData下)(可删除,或剪切走,以防万一) 重新安装mysql(我用的是mysql-installer-community-5.7.13.0程序包) 如果数据库启动了先关闭它(因为版本,关闭是(net stop mysql57--在cmd中);启动是(net start mysql57--在cmd中)) 然后把以前的数据库文件(自己需要的)(在Data文件夹下的,数据库名即文件夹名)复制到,新的数据库Data文件夹下(那些自带的数据库别动), 把新的Data下的那五个配置文件替换为以前老的文件(就是这五个文件auto.cnf,ib_buffer_pool,ib_logfile0,ib_logfile1,ibdata1) 重新启动数据库即可
firebank 2014-10-23
  • 打赏
  • 举报
回复
我好像遇到过一次类似的问题。当时是发现这个表的一个外键约束出问题了,后来在information_schema中把那个表的外键都查出来搞了一下就好了,不过感觉这个处理的有些太野路子了。。。
「已注销」 2014-10-23
  • 打赏
  • 举报
回复
你的问题最后解决了么?
xyang0917 2014-02-10
  • 打赏
  • 举报
回复
应该是innodb引擎,我安装数据库的时候默选的就是innodb,后来没有改过。建表的时候也没有添加额外的参数。其它表都是正常的,只有product这张表的数据多一些,访问不了,春节前还是好的,回来就不行了。product这张表大概1600条记录左右。innodb_file_per_table这个参数的值是off状态,那应该就不是独立表空间了,像这种情况,这个表的数据还有救吗?
引用 6 楼 xtdhqdhq 的回复:
你确认你这张表是innodb 引擎的吗?如果是,那么其它innodb 引擎的表呢,还正常吗?
xyang0917 2014-02-10
  • 打赏
  • 举报
回复
执行SHOW GLOBAL VARIABLES; 命令显示innodb_file_per_table的value是OFF状态
引用 5 楼 xtdhqdhq 的回复:
引用 3 楼 xyang81 的回复:
我的数据库版本是5.5.34,在mysql的配置文件中找不到innodb_file_per_table参数配置,请问是看这个参数来得知表空间是独立的还是共享的吗?另外,在mysql的dataidr目录中有ibdata1文件 [quote=引用 1 楼 xtdhqdhq 的回复:] 你这个是innodb表,可见可能是ibdata1文件丢失或者损坏。 如果你是独立表空间还是可以恢复的,如果是共享表空间,则数据无法恢复喽。 查看此参数innodb_file_per_table
SHOW GLOBAL VARIABLES; 查看这个参数[/quote]
果儿妈 2014-02-10
  • 打赏
  • 举报
回复
你确认你这张表是innodb 引擎的吗?如果是,那么其它innodb 引擎的表呢,还正常吗?
果儿妈 2014-02-10
  • 打赏
  • 举报
回复
引用 3 楼 xyang81 的回复:
我的数据库版本是5.5.34,在mysql的配置文件中找不到innodb_file_per_table参数配置,请问是看这个参数来得知表空间是独立的还是共享的吗?另外,在mysql的dataidr目录中有ibdata1文件
引用 1 楼 xtdhqdhq 的回复:
你这个是innodb表,可见可能是ibdata1文件丢失或者损坏。 如果你是独立表空间还是可以恢复的,如果是共享表空间,则数据无法恢复喽。 查看此参数innodb_file_per_table
SHOW GLOBAL VARIABLES; 查看这个参数
xyang0917 2014-02-10
  • 打赏
  • 举报
回复
执行show create table product;命令也是提示ERROR 1146 (42S02): Table 'product_manager.product' doesn't exist这个错误,请问这是ibdata1文件故障还是myisam问题?谢谢!
引用 2 楼 ACMAIN_CHM 的回复:
show create table product; 看一下,如果是innodb 引擎,则说明是一楼中描述的问题,ibdata1文件故障了。 如果是myisam 则,想办法去找一下product.idx
xyang0917 2014-02-10
  • 打赏
  • 举报
回复
我的数据库版本是5.5.34,在mysql的配置文件中找不到innodb_file_per_table参数配置,请问是看这个参数来得知表空间是独立的还是共享的吗?另外,在mysql的dataidr目录中有ibdata1文件
引用 1 楼 xtdhqdhq 的回复:
你这个是innodb表,可见可能是ibdata1文件丢失或者损坏。 如果你是独立表空间还是可以恢复的,如果是共享表空间,则数据无法恢复喽。 查看此参数innodb_file_per_table
ACMAIN_CHM 2014-02-10
  • 打赏
  • 举报
回复
show create table product; 看一下,如果是innodb 引擎,则说明是一楼中描述的问题,ibdata1文件故障了。 如果是myisam 则,想办法去找一下product.idx
果儿妈 2014-02-10
  • 打赏
  • 举报
回复
你这个是innodb表,可见可能是ibdata1文件丢失或者损坏。 如果你是独立表空间还是可以恢复的,如果是共享表空间,则数据无法恢复喽。 查看此参数innodb_file_per_table
xyang0917 2014-02-10
  • 打赏
  • 举报
回复
show table status from product_manager;执行这条命令看不到损坏了的那张表,这是什么情况?
引用 8 楼 xyang81 的回复:
应该是innodb引擎,我安装数据库的时候默选的就是innodb,后来没有改过。建表的时候也没有添加额外的参数。其它表都是正常的,只有product这张表的数据多一些,访问不了,春节前还是好的,回来就不行了。product这张表大概1600条记录左右。innodb_file_per_table这个参数的值是off状态,那应该就不是独立表空间了,像这种情况,这个表的数据还有救吗?
引用 6 楼 xtdhqdhq 的回复:
你确认你这张表是innodb 引擎的吗?如果是,那么其它innodb 引擎的表呢,还正常吗?

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧