我的MySQL表中有一个严重的问题,一旦有InnoDB表,它们是IN USE,现在以某种方式隐藏
看看这个[pic] *链接被删除 - 标题中的表数是79,实际计数是74.
这些表是IN USE
我最近没有备份我的数据库,所以这对我来说是生死游戏
我检查了我的VPS,我发现它们在/ etc/lib/mysql/db_name /.
编辑:
我搜索了互联网,我发现每个表应该有3个与之相关的文件.
例如,该表table_users具有:
-- table_users.frm
-- table_users.MYD
-- table_users.MYI
Run Code Online (Sandbox Code Playgroud)
对于那些隐藏的表,只有.frm文件,并且缺少表的其他两个文件.
我应该将我的问题改为:如何从.frm文件中恢复innodb表?
InnoDB没有这三个文件
对于所有数据库和表,InnoDB数据存储在"ibdata1"中.表定义存储在"tablename.frm"中
我会说你的InnoDB文件已经损坏,你可能想看看这些工具:https: //launchpad.net/percona-innodb-recovery-tool
更新
首先,关于文件:
要恢复表,您可以尝试(先进行备份):
1) 运行check table tablename- 对于所有数据库表;
2) 运行repair table tablename- 获取必要的表。
再次更新
另一个想法......试试这个:
我期望正确的表格(当然没有数据)。抱歉,在建议之前我暂时没有电脑可以检查......
| 归档时间: |
|
| 查看次数: |
24073 次 |
| 最近记录: |