gpt4 book ai didi

MySQL 崩溃 -> innodb 恢复不起作用 -> 尝试另一种方法

转载 作者:行者123 更新时间:2023-11-30 00:58:40 24 4
gpt4 key购买 nike

祝你有美好的一天。

我使用带有“innodb_file_per_table”选项的 MySQL 服务器,现在服务器崩溃了。我想用这种方式恢复该服务器:

  • 卸载旧的 MySQL
  • 安装新的 MySQL
  • 在 MySQL 配置中添加“innodb_file_per_table”
  • 将数据库文件夹(仅 my,而不是 mysql)从旧 MySQL/data 复制到新 MySQL/data

在每个文件夹中,我都有两个文件:.frm 和 .ibd,看起来这些文件包含我的数据库表中的所有数据。

但是,复制后,该数据库中的表不起作用:当我尝试打开某些表时,出现错误:引擎中不存在表 xxx。

我尝试了 REPAIR 命令,但没有帮助。

如果您知道如何完成我的修复方式 - 请帮忙。

...我知道我还需要复制 ibdata1,但它看起来很难恢复,所以我尝试了我尝试的方法。

最佳答案

REPAIR 命令对 InnoDB 没有帮助。

如果你足够幸运,你能做的最好的事情就是:1. 使用 innodb_force_recovery=4 启动 MySQL(如果 InnoDB 启动失败,请尝试 5、6 值)。确保 innodb_purge_threads=0。2. 使用mysqldump工具转储数据库。是的,可能会很慢,但没有其他选择。3. 创建新的空 InnoDB 表空间并重新加载转储。

如果 MySQL 在 innodb_force_recovery=6 时无法启动,那么从备份恢复是唯一的选择。好吧,您可以从 *.ibd 文件中获取记录,但这是一项乏味的工作 - 来自 percona 的 google 数据恢复工具

更新:数据恢复工具包移至 GitHub

关于MySQL 崩溃 -> innodb 恢复不起作用 -> 尝试另一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20334791/

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