首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数据文件恢复MySQL表?

问如何从数据文件恢复MySQL表?
EN

Stack Overflow用户
提问于 2010-09-27 04:42:55
回答 2查看 6.1K关注 0票数 1

我有一个数据库(所有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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-24 04:22:23

我最终放弃了。我认为答案是,在我的特定版本的MySQL中,这是不起作用的。希望从那时起情况有所改善。

票数 0
EN

Stack Overflow用户

发布于 2011-04-17 23:07:10

  1. 安装相同版本的mysql。
  2. 从服务器的数据目录中删除mysql目录,并从崩溃的服务器中复制该目录。这是您要恢复到新服务器数据目录中的数据库的关键element
  3. copy目录
  4. 启动mysql.
  5. switch to mysql数据库:USE mysql;并在每个表上运行REPAIR TABLE <table name>。
  6. 对要恢复的数据库执行相同的操作<代码>H218<代码>G219

提示:请确保这两个目录具有与数据目录相同的权限

如果您没有在旧服务器的数据目录中保存mysql数据库(mysql目录),那么您可以尝试:

您可以创建每个表(最好使用相同的结构-您将有更大的恢复机会)。recover.

  • Then
  1. create database与您想要创建的数据库具有相同的名称。然后
  2. 停止mysql服务器并从数据库目录中删除文件,并用旧服务器中的文件覆盖它们
  3. 启动mysql并修复每个表。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3799743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档