mysql通过数据文件恢复数据方法
情况描述:服务器硬盘损坏,服务器换了个新硬盘 ,然后老硬盘插在上面。挂载在这台机器。可以从老硬盘里面拿到数据。只拿到了里面的mysql数据文件夹,把数据文件夹覆盖新的服务器mysql数据文件夹 启动报错!!!报错!!!错!!!。
数据文件如下:
于是觉得不能使用覆盖文件的方式还原数据,得使用科学方法恢复。google之……
找到解决办法如下:
可以发现数据目录下有对应数据库名称的文件夹,文件夹下有很多 表名.ibd 文件,这些文件其实就是数据,我们要利用它们来恢复
恢复步骤:
1.在新库里面创建结构相同的数据库和表(这个可以根据服务器备份数据或本地数据库来弄)
2.使用 ALTER TABLE test DISCARD TABLESPACE; 丢弃表空间(test=表名,需要对每张表执行一次该命令,可以先在本地把每条命令编辑好 一次执行)
PS:执行完后发现新库数据文件夹里 tsst.idb 已被删除
3.把老数据文件夹下的 test.idb 文件复制到新数据文件夹下(test=表名,需要对每张表执行一次该操作)
4.再执行 ALTER TABLE test IMPORT TABLESPACE; 导入表空间(test=表名,需要对每张表执行一次该命令)
然后数据就恢复了。可以愉快的玩耍了~~~~
致读者:感谢你阅读本文,请随手点击右下角的推荐或分享,谢谢!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战