InnoDB 修復紀錄

InnoDB 修復紀錄

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

文章讲述了作者修复MariaDB数据库的过程。由于数据库损坏,作者删除了ibdata1等文件并重启,成功恢复了数据库。随后,作者解决了表mt_asset缺失数据的问题,并通过手动导出和整合数据部分恢复。最终,作者将数据表改为MyISAM格式,并更新字符集以支持emoji,确保数据库稳定运行。

🎯

关键要点

  • 作者发现MariaDB数据库损坏,无法启动,且没有备份。
  • 根据错误信息,删除了ibdata1等文件并重启,成功恢复了数据库。
  • 在运行mysqldump时,发现mt_asset表缺失数据,因其使用InnoDB,数据集中在ibdata1中。
  • 通过手动导出mt_asset表的数据,成功恢复了部分数据。
  • 将所有表改为MyISAM格式,因其更适合作者的使用需求。
  • 更新字符集为utf8mb4,以支持emoji,确保数据库稳定运行。
  • 推测数据库损坏是由于更新MariaDB版本导致的,之后进行了版本回退和修复。

延伸问答

如何修复损坏的MariaDB数据库?

可以删除ibdata1等文件并重启MariaDB,通常可以恢复数据库。

mt_asset表缺失数据的原因是什么?

mt_asset表使用InnoDB,数据集中在ibdata1中,删除该文件后数据丢失。

如何手动恢复mt_asset表的数据?

可以使用mysqldump命令手动导出mt_asset表的数据。

为什么选择将表改为MyISAM格式?

因为MyISAM格式更适合作者的使用需求,且冷备份更简单。

如何更新数据库字符集以支持emoji?

将字符集更新为utf8mb4,以支持emoji的存储和显示。

数据库损坏的可能原因是什么?

推测是由于更新MariaDB版本导致的文件损坏。

➡️

继续阅读