通过ibd文件恢复MySql数据的操作方法

 更新时间:2025年03月14日 10:07:59   作者:HeartJoySpark  
文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并重启MySQL,对于不知道表结构的情况,可以使用ibd2sql工具生成对应的SQL脚本,然后执行该脚本恢复数据,感兴趣的朋友看看吧

今天干了一件大事,安装1Panel导致原来服务器上的所有容器都干没了,主要是MySQL。今天就介绍一下恢复数据的过程,只有.ibd文件怎么恢复MySql

MySql版本8.8.4

第一种情况:知道表结构

知道表结构的话恢复数据比较简单

1、创建数据库

2、建表,要求就是跟原来的表结构一样

3、将你的.ibd文件直接拷贝到当前数据库的data目录下

4、重启MySql

重启成功就结束了

第二种情况:不知道表结构

这种情况下就需要借助额外的工具来恢复数据

1、安装 python3 执行下面这个命令安装

 yum install -y python3

2、安装ibd2sql这个工具

#下载压缩包
wget https://github.com/ddcw/ibd2sql/archive/refs/heads/main.zip
#解压
unzip main.zip

3、进入 ibd2sql-main 目录下

4、执行命令

python3 main.py ***********你的ibd文件的具体路径************* --ddl --sql

python3 main.py /opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd --ddl --sql

执行完毕后就会出现对应的sql脚本,最后直接在执行一下这个sql脚本就能把表结构和数据都找回来了,这种方式是通过执行sql脚本重新创建表和插入数据

当然也可以先执行--ddl 找回表结构

python3 main.py /opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd --ddl

然后在新的数据库中执行create语句把表建好,最后再把你的.ibd文件目录拷贝到新的数据库的data目录下,最后重启MySQL,重启成功的话 数据就都找回来了,要是重启失败的话就只能执行--ddl和--sql找回数据了

总结

        总之兄弟们,操作数据库的时候最好还是备份一下,一不小心整个库都没了,太吓人了,还有就是如果有兄弟安装1Panel,先确保服务器上没有其他的docker容器,不然的话安装1Panel时会将服务器上原来的docker容器和镜像全部都给清了,所以在安装1Panel的时候先做好备份,或者说一开始服务器上没有docker的时候安装1Panel

到此这篇关于如何通过ibd文件恢复MySql数据的文章就介绍到这了,更多相关MySql ibd文件恢复内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL8.2.0安装教程分享

    MySQL8.2.0安装教程分享

    这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤
    2025-02-02
  • SpringBoot项目中MySQL索引失效的常见场景与解决方案

    SpringBoot项目中MySQL索引失效的常见场景与解决方案

    在SpringBoot项目开发中,我们通常使用JPA、MyBatis等ORM框架与MySQL数据库交互,虽然这些框架极大地提高了开发效率,但容易写出索引失效的查询语句,导致系统性能急剧下降,所以本文将详细介绍SpringBoot项目中常见的MySQL索引失效场景,并提供解决方案和最佳实践
    2025-09-09
  • 利用explain排查分析慢sql的实战案例

    利用explain排查分析慢sql的实战案例

    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,下面这篇文章主要给大家介绍了关于利用explan排查分析慢sql的相关资料,需要的朋友可以参考下
    2022-04-04
  • 源码编译安装MySQL8.0.20的详细教程

    源码编译安装MySQL8.0.20的详细教程

    这篇文章主要介绍了源码编译安装MySQL8.0.20的详细教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • MySQL8.0版本如何正确的使用窗口函数详解

    MySQL8.0版本如何正确的使用窗口函数详解

    MySQL 8.0引入的窗口函数,增强了数据分析能力,窗口函数允许对数据集(窗口)进行操作,与GROUPBY类似,但每个查询行生成独立结果,包括聚合函数如SUM、AVG,专用窗口函数如ROW_NUMBER等,窗口函数应用于数据分组、排序、排名,并支持复杂分析场景,需要的朋友可以参考下
    2024-11-11
  • MySQL忘记root密码以及远程无法连接的解决方法

    MySQL忘记root密码以及远程无法连接的解决方法

    这篇文章主要介绍了MySQL忘记root密码以及远程无法连接问题的解决方法,文中有详细的代码示例来解决这些办法,需要的朋友可以参考下
    2023-06-06
  • MySQL派生表合并优化的原理和实现过程

    MySQL派生表合并优化的原理和实现过程

    本文从一个案例出发梳理了MySQL派生表合并优化的流程实现和优化原理,并对优化前后同一条SQL语句在代码层面的类实例映射关系进行了对比,这篇文章主要介绍了MySQL派生表合并优化的原理和实现,需要的朋友可以参考下
    2024-07-07
  • mysql的limit用法及逻辑分页和物理分页

    mysql的limit用法及逻辑分页和物理分页

    本文主要介绍了mysql的limit用法及逻辑分页和物理分页,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Mysql数据库使用concat函数执行SQL注入查询

    Mysql数据库使用concat函数执行SQL注入查询

    这篇文章主要介绍了Mysql数据库使用concat函数执行SQL注入查询,concat函数在SQL注入查询中会有意想不到的作用,本文就起讲解它的使用,需要的朋友可以参考下
    2015-04-04
  • Win2003服务器安装及设置教程 MySQL安全设置图文教程

    Win2003服务器安装及设置教程 MySQL安全设置图文教程

    Win2003服务器安装及设置教程,一般脚本之家为客户都是将MySQL运行于普通用户下,这样才会尽量避免提权,新建用户什么的
    2012-05-05

最新评论