【问题标题】:Replacing IBD files in Innodb替换 Innodb 中的 IBD 文件
【发布时间】:2020-09-07 06:32:00
【问题描述】:

今天我犯了一个删除生产数据库的错误。

我能够从昨天晚上恢复数据库,但我找到了最近的 IBD 和 FRM 文件。

所以我想知道我是否能够恢复这些文件。仅仅覆盖 IBD 文件是行不通的,因为 Mysqld 无法启动..

关于如何解决此问题的任何建议?

【问题讨论】:

    标签: mysql database restore


    【解决方案1】:

    不,您不能只替换 ibd 文件,它们的内部状态本质上与主表空间状态 (ibdata*) 和事务日志状态 (ib_logfile*) 相关联。

    将整个数据集恢复到备用服务器,使用 mysqldump 转储您需要的表,或者如果它们很大,则使用可导出的表空间:

    在还原服务器上: FLUSH TABLE table_name FOR EXPORT; 保持会话运行。

    在主服务器上: ALTER TABLE table_name DISCARD TABLESPACE;

    复制ibd文件。

    在主服务器上: ALTER TABLE table_name IMPORT TABLESPACE;

    这应该可以满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-30
      • 1970-01-01
      相关资源
      最近更新 更多