gpt4 book ai didi

mysql - 如何在没有 ibdata1 和 *.ibd 文件的情况下恢复 innodb 表

转载 作者:行者123 更新时间:2023-11-29 12:55:42 28 4
gpt4 key购买 nike

由于某种原因,这些文件 ibdata1、ib_logfile0、ib_logfile1 被从硬盘驱动器中删除,mysql 服务器重新启动,当然其中一个数据库因错误“db.table 不存在!”而停止。如果只有 *.frm、db.opt 文件,是否可以以某种方式恢复这些文件?

谢谢。

最佳答案

尽快获取磁盘镜像或将 MySQL 分区挂载为只读(如果它不在/上)。

然后需要编译数据恢复工具包(如果“make”失败则安装依赖项):

  make 

然后使用page_parser扫描磁盘镜像。它将查找 InnoDB 页面并按页面类型、每个 index_id 对它们进行排序。

  ./page_parser -f /path/to/disk.img

然后您需要表结构(从旧备份中获取它们或从 .frm 中恢复)。您需要结构来编译constraints_parser - 一个从InnoDB页面获取记录的工具。

  ./constraints_parser -5f pages-XXXXXX/FIL_PAGE_INDEX/0-x/

将输出保存在某个文件中。它还会生成 LOAD DATA 到 stderr,以将转储上传回 MySQL。请查看 Percona 网站上的文档以了解更多详细信息。

根据我的经验,发生此类事故后 70-80%% 的数据应该可以恢复。

关于mysql - 如何在没有 ibdata1 和 *.ibd 文件的情况下恢复 innodb 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24081228/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com