路过的夏季 2023-11-14 12:08 采纳率: 80%
浏览 57
已结题

mysql怎么根据 .frm 和 .idb文件恢复数据库?

mysql怎么根据 .frm 和 .idb文件恢复数据库,主要是表结构提取不出来,尝试了很多办法都没成功,有会的交流下

img


采用:ibd2sdi --dump-file member.txt member.ibd 报错不支持 ibd2sdi
采用 mysql-utilities 中的 mysqlfrm 无奈mysql-utilities 仅支持 python 2.6-2.7
有其他可行方法吗?

  • 写回答

1条回答 默认 最新

  • Fuxi- 2023-11-14 16:43
    关注

    要根据 .frm 和 .idb 文件恢复数据库,通常需要执行以下步骤:

    1. 创建一个新的数据库,用于恢复数据。
    2. 找到原始数据库的 .frm 文件和 .idb 文件。.frm 文件包含了表的结构信息,而 .idb 文件包含了表的数据。
    3. 停止 MySQL 服务,确保数据库处于离线状态。
    4. 将原始数据库的 .frm 文件和 .idb 文件拷贝到 MySQL 数据目录的相应位置。MySQL 数据目录的位置在 my.ini (或 my.cnf)配置文件中指定。
    5. 启动 MySQL 服务。
    6. 连接到 MySQL 数据库,并运行 SHOW TABLES; 命令,查看是否能够看到恢复的表。
    7. 如果表能够显示出来,但无法正常访问或查询数据,可能需要进行修复操作。运行 REPAIR TABLE tablename; 命令对需要修复的表进行修复。

    需要注意的是,使用 .frm 和 .idb 文件恢复数据库只能恢复表的结构和数据,其他数据库对象(如存储过程、触发器、视图等)无法直接恢复。此外,在进行此类操作之前,请务必备份原始数据库的 .frm 和 .idb 文件,以防止不可预料的数据丢失。

    另外,MySQL 官方提供了一些工具和方法可以用于数据库备份和恢复,例如使用 mysqldump 命令导出和导入数据,或者使用 MySQL 的主从复制功能进行数据库的备份和恢复。这些方法更为安全和可靠,并且能够包含数据库的完整结构和数据。推荐在正式环境中使用这些备份和恢复方法。

    请在执行上述操作前,确保充分了解并了解其风险,并在实施恢复操作之前做好充分的数据备份工作。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 创建了问题 11月14日