当前位置:  开发笔记 > 编程语言 > 正文

MySQL InnoDB数据库恢复

如何解决《MySQLInnoDB数据库恢复》经验,为你挑选了3个好方法。

我必须恢复在MySQL 5.0中无意中DROPped的数据库.从检查备份文件,我似乎只有.FRM文件来保存数据库数据.

任何人都可以建议这是否是我需要从备份执行数据库恢复/导入,还是有其他文件我应该完成这个?



1> tpk..:

.frm文件不是数据文件,它们只存储"数据字典信息"(参见MySQL手册).InnoDB将其数据存储在ib_logfile*文件中.这就是您进行备份/恢复所需的.欲了解更多详情,请参见这里.



2> Ash..:

恢复innodb :(假设您的数据文件夹是C:\ ProgramData\MySQL\MySQL Server 5.5\data)

    将要还原的数据库(以数据库名称命名)的文件夹复制到C:\ ProgramData\MySQL\MySQL Server 5.5\data

    将3个ibdata文件复制到数据文件夹ex.(C:\ ProgramData\MySQL\MySQL Server 5.5\data)

    _ib_logfile0
    _ib_logfile1
    _ibdata1
    

    通过文件右键单击 - >属性获取以MB为单位的_ib_logfile0的大小(它应与_ib_logfile1相同)

    编辑mysql配置文件(mysql\bin\my.ini),使innodb_log_file_size = 343M正好是ibdata文件大小

    mysqld --defaults-file = mysql\bin\my.ini --standalone --console --innodb_force_recovery = 6

    现在您的数据应该回到您的数据库中.使用phpmysql或任何其他工具导出它们



3> 小智..:

哦,我...你遇到了麻烦.关闭数据库.备份innodb文件.祈祷你丢弃数据库后没有做任何事情.

Percona的人员(包括MySQL性能博客的作者)应该能够帮助你:Percona紧急支持.

如果您自己冒险,请随身携带:Innodb数据恢复工具包.

物流呢?您必须阅读每个页面(计算机术语页面...在Innodb的情况下为16k块)并以此方式重建您的数据.这是非常低级的工作(我们正在谈论打开你的十六进制编辑器并开始计算字节,如果工具包没有为你做的话),如果你不是一个经验丰富的程序员,你将会受到伤害.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有