我有一个数据库(所有MyISAM表),运行MySQL的机器不再可引导。但是,我们有来自数据目录的所有MySQL数据文件。如何从MYD和FRM文件中恢复数据,或者从data目录中应该查看的任何其他文件中恢复数据?
我已经对此进行了一些搜索,似乎对于MyISAM,我应该能够将数据库子目录从旧的MySQL数据目录复制到新的MySQL数据目录。然而,这对我不起作用。在phpMyAdmin的数据库列表中显示了一个与我试图恢复的数据库同名的数据库,但所有的表都显示为“正在使用”,并且没有任何信息(例如,行数、字节数、列信息等)。对这些表的任何操作(例如,SELECT * FROM {table}、REPAIR {table}、CHECK {table})都会返回“没有这样的表”错误。
我在搜索过程中遇到的一个工具是MicroOLAP的DBACentral。它有一个从FRM/MYD文件中恢复数据的组件,但是当我尝试运行它时,它没有列出任何可以从我的FRM/MYD文件中恢复的表。
这是在运行Vista Business 32位的开发人员工作站上。MySQL版本为5.0.27。在修复了机器之后,我得到了完全相同版本的MySQL (v5.0.27),我想如果我只是想插入二进制数据文件,我应该用相同版本的MySQL来做这件事。它仍然不起作用。
任何见解都将不胜感激……谢谢!
-Josh
发布于 2012-10-24 04:22:23
我最终放弃了。我认为答案是,在我的特定版本的MySQL中,这是不起作用的。希望从那时起情况有所改善。
发布于 2011-04-17 23:07:10
USE mysql;并在每个表上运行REPAIR TABLE <table name>。提示:请确保这两个目录具有与数据目录相同的权限
如果您没有在旧服务器的数据目录中保存mysql数据库(mysql目录),那么您可以尝试:
您可以创建每个表(最好使用相同的结构-您将有更大的恢复机会)。recover.
https://stackoverflow.com/questions/3799743
复制相似问题