使用.frm文件和ibdata文件恢复MySQL InnoDB数据库

时间:2012-08-23 07:22:05

标签: mysql xampp innodb recover

您好错误地从基于Windos XP的PC中删除了我的MySQL数据库(该数据库用于使用Xampp包托管Wiki服务)。现在我正在尝试恢复数据,以便我至少可以检索在Mediawiki包的相应表中输入的TEXT。

删除后,我尝试使用Minitool数据恢复软件恢复数据,并能够恢复包含.frm文件,ib_logfile0,ib_logfile1和ibdata1(存储在C> xampp> mysql>数据下)的主模式文件夹。 / p>

现在我正在尝试恢复数据库,以便我可以进行SQL转储并相应地使用它。我已经咨询了专家提供的一些先前的建议。以下是链接 -

Restoring MySQL InnoDB files on Windows

Stackoverflow answers

但这些对我没有多大帮助,也不确定我在指示中究竟缺少了什么。最后,我无法启动MySQL服务,并且在日志中出现以下错误失败 -

120823 12:17:04 [Note] Plugin 'FEDERATED' is disabled.
120823 12:17:04 InnoDB: The InnoDB memory heap is disabled
120823 12:17:04 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120823 12:17:04 InnoDB: Compressed tables use zlib 1.2.3
120823 12:17:04 InnoDB: Initializing buffer pool, size = 16.0M
120823 12:17:04 InnoDB: Completed initialization of buffer pool
120823 12:17:04 InnoDB: highest supported file format is Barracuda.
InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/error-creating-innodb.html
120823 12:17:04 [ERROR] Plugin 'InnoDB' init function returned error.
120823 12:17:04 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
120823 12:17:04 [ERROR] Unknown/unsupported storage engine: InnoDB
120823 12:17:04 [ERROR] Aborting

任何有助于从这种情况中恢复的帮助都将受到高度赞赏。如果需要,我愿意提供更多数据。 [MySQL Server Version 5.5, xampp-win32-1.8.0-VC9]

1 个答案:

答案 0 :(得分:3)

哦上帝终于解决了:) 其实我是新手,这就是为什么我不能快速解决这个问题。这是我遵循的工作流程。

  • 我安装了MySQL服务器的新副本。运行事务数据库的向导配置。
  • 我从Services.msc
  • 停止了MySQL
  • 然后覆盖ib* and *frm服务器5.5 /数据文件夹中的C/programdata/mysql/mysql文件(在架构文件夹下)
  • 使用C/apps/mysql
  • 更新了innodb_log_file_size=<actual size of iblogfile0>中的my.ini
  • 运行命令mysqld --defaults-file="C:/apps/mysql/my.ini" --standalone --console --innodb_force_recovery=6
  • 上述完成后关闭cmd.exe
  • 重启MySQL服务
  • 打开MySQL工作台并进行转储

很抱歉让大家迷惑。再次感谢。如果有人要求上述步骤清楚,请告诉我。