侧边栏壁纸
博主头像
Jammmの日常博主等级

行动起来,活在当下

  • 累计撰写 76 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

记一次ibd文件数据库恢复过程

Administrator
2025-03-24 / 0 评论 / 0 点赞 / 29 阅读 / 3345 字

起因

之前服务器安装某个程序需要.net8 要修改glibc更改版本,修改后正常使用,不小心更新宝塔后保存 需要glibc_2.33 2.34,安装2.34的时候直接报错,导致内存异常,ssh连不上,重启后无法进入系统,进入救援模式后,拷贝出数据库data目录文件,进行数据恢复

frm,MYD,MYI文件

这些文件新建一个数据库,把这个三个文件拷贝进去 刷新数据库即可出现表数据,非常简单。

frm,IBD文件

需要一个Linux服务器,下载dbsake后,用dbsake解析出表结构,新建一个表,后删除表空间引用,拷贝ibd文件再使用import导入即可。下面是具体步骤。

  1. 下载dbsake
curl -s http://get.dbsake.net > dbsake
  1. 给dbsake权限
chmod u+x dbsake
  1. 拷贝frm文件到服务器,使用dbsake
    将后面的路径以及文件换成你的路径和文件
./dbsake frmdump /www/disk1/dbsake/xxx.frm

运行结果:

[root@ser3VswS91UBrbe dbsake]# ./dbsake frmdump /www/disk1/dbsake/typecho_weixin.frm 
--
-- Table structure for table `typecho_weixin`
-- Created with MySQL Version 5.7.40
--

CREATE TABLE `typecho_weixin` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`openid` varchar(64) DEFAULT NULL,
`name` varchar(32) DEFAULT NULL,
`mail` varchar(150) DEFAULT NULL,
`ban` int(10) unsigned DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  1. 创建上面的表
  2. 删除空间引用
alter table typecho_weixin DISCARD TABLESPACE
  1. 将ibd文件拷贝到你用来恢复机子数据库的目录,若不知道使用以下命令查询
show variables like '%datadir%';
  1. 复制ibd文件后,导入ibd数据
alter table typecho_weixin IMPORT TABLESPACE

导入后就可以正常查看了,之后就是导出sql文件去新服务器上执行就行

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区