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