【发布时间】:2011-06-03 07:21:54
【问题描述】:
我的 MySQL 表有一个严重的问题,曾经有 InnoDB 表在使用中,现在不知何故被隐藏了
看看这个[图片] *链接被删除 - 标题中的表格数量为 79,实际计数为 74。
这些表是在使用中的表
我的数据库最近没有任何备份,所以这对我来说是生死攸关的游戏
我检查了我的 VPS,我在 /etc/lib/mysql/db_name/ 找到了它们。
编辑:
我在网上搜索,发现每个表都应该有 3 个与之相关的文件。
例如,table_users 表有:
-- table_users.frm
-- table_users.MYD
-- table_users.MYI
对于那些隐藏的表格,只有.frm文件,而表格的另外两个文件丢失了。
我应该将我的问题改为:如何从 .frm 文件中恢复 innodb 表?
【问题讨论】:
-
您可以手动运行“SHOW TABLES”并检查您的表是否存在吗?
-
是的,我这样做了,它列出了所有表格,包括那些丢失的表格
-
当您尝试查询丢失的表时会发生什么。,.
-
@ovais 是的,它们列在那里,当我运行这个 sql 查询时:select * from table_users 它返回 table_users 不存在。我真的厌倦了这个
-
.frm 文件仅包含表的字段定义。它不会有任何表数据。因此,如果您只有一个 .frm 文件,则无法恢复除表结构之外的任何内容。