我已将 /var/lib/mysql/mydbname db 从崩溃的服务器(使用实时 cd 启动)复制到新机器,但现在我无法访问数据库中的表...
所有表都只有 .frm 扩展名,因此我假设它们是 InnoDB。
它们出现在 SHOW TABLES 语句中,但我无法从中进行 SELECT。
修复/优化/分析全部给予;
+---------------+-------+----------+-------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------------+-------+----------+-------------------------------------+
| mydbname.xyz | check | Error | Table 'mydbname.xyz' doesn't exist |
| mydbname.xyz | check | error | Corrupt |
+---------------+-------+----------+-------------------------------------+
myisamchk 不会触碰它们(显然)......
我现在感觉有点没有选择。
提前致谢。
答案1
如果是 InnoDB,那么您需要从崩溃的服务器复制 ibdata* 和 ib_logfile* 文件,但这样一来,您就会获取其他数据库的表数据,而这一切都太痛苦了。请从备份中恢复。