通过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文件恢复内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySql 字符集不同导致 left join 慢查询的问题解决

    MySql 字符集不同导致 left join 慢查询的问题解决

    当两个表的字符集不一样,在使用字符型字段进行表连接查询时,就需要特别注意下查询耗时是否符合预期,本文主要介绍了MySql 字符集不同导致 left join 慢查询的问题解决,感兴趣的可以了解一下
    2024-05-05
  • MACOS中忘记MySQL root密码的解决方案

    MACOS中忘记MySQL root密码的解决方案

    这篇文章主要向大家讲述的是在MAC系统中MySQL重设root密码的实际操作步骤,在实际操作中忘记MySQL root密码时常会发生的,下面就是本教程的详细内容介绍。
    2017-03-03
  • MySQL 数据库的约束及数据表的设计原理

    MySQL 数据库的约束及数据表的设计原理

    这篇文章主要介绍了MySQL 数据库的约束及数据表的设计原理,数据库中的约束即是对插入数据库中的数据进行限定,为了保证数据的有效性和完整性,下面一起来了解具体的详细内容,需要的小伙伴可以参考一下
    2021-12-12
  • MySQL实现字符串的拼接,截取,替换,查找位置的操作

    MySQL实现字符串的拼接,截取,替换,查找位置的操作

    这篇文章主要介绍了MySQL实现字符串的拼接,截取,替换,查找位置的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • MySQL SQL性能分析之慢查询日志、explain使用详解

    MySQL SQL性能分析之慢查询日志、explain使用详解

    这篇文章主要介绍了MySQL SQL性能分析 慢查询日志、explain使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Mysql不同服务器跨库查询解决方案

    Mysql不同服务器跨库查询解决方案

    本文主要介绍了Mysql不同服务器跨库查询解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 深入浅析MySQL 中 Identifier Case Sensitivity问题

    深入浅析MySQL 中 Identifier Case Sensitivity问题

    这篇文章主要介绍了MySQL 中 Identifier Case Sensitivity,需要的朋友可以参考下
    2018-09-09
  • clickhouse分布式表的操作示例详解

    clickhouse分布式表的操作示例详解

    这篇文章主要为大家介绍了clickhouse分布式表的操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • mysql 5.7.11 安装配置教程

    mysql 5.7.11 安装配置教程

    这篇文章主要为大家详细介绍了mysql 5.7.11 安装配置教程,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Mysql 数据库开启binlog的实现步骤

    Mysql 数据库开启binlog的实现步骤

    本文主要介绍了Mysql 数据库开启binlog的实现步骤,对于运维或架构人员来说,开启binlog日志功能非常重要,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11

最新评论