iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mysql 通过frm&ibd 恢复数据
  • 230
分享到

Mysql 通过frm&ibd 恢复数据

2024-04-02 19:04:59 230人浏览 安东尼
摘要

       Mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公

       Mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公司也是不现实的。万一还没有做好备份,数据被误删除了,或者ibdata损坏了怎么办呢?别担心,只要有部分的frm、ibd存在就可以恢复部分数据。

注意:

一、这个是对innodb的数据恢复。myisam不需要这么麻烦,只要数据文件存在直接复制过去就可以。

二、大家的mysql数据库必须是按表存放数据的,默认不是,但是大家生产肯定是按分表设置的吧,如果不是,不好意思,这个方法不能恢复你的数据。

      my.ini的设置为 innodb_file_per_table = 1。

1、找回表结构,如果表结构没有丢失直接到下一步

a、先创建一个数据库,这个数据库必须是没有表和任何操作的。

b、创建一个表结构,和要恢复的表名是一样的。表里的字段无所谓。

 一定要是innodb引擎的。CREATE TABLE `test_table`( `jingfeng` char(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

c、关闭mysql, service mysqld stop; 

d、用需要恢复的frm文件覆盖刚新建的frm文件;

e、修改my.cnf 里 innodb_force_recovery=1 , 如果不成修改为 2,3,4,5,6。

f、 启动mysql,service mysqld start;show create table test_table\G 就能看到表结构信息了。

2、找回数据。记得上面把 innodb_force_recovery改掉了,需要注释掉,不然恢复模式不好操作。

  这里有个关键的问题,就是innodb里的任何数据操作都是一个日志的记录点。

  也就是如果我们需要数据恢复,必须把之前的表的数据的日志记录点添加到一致。

a、建立一个数据库,根据上面导出的创建表的sql执行创建表。

b、找到记录点。先要把当前数据库的表空间废弃掉,使当前ibd的数据文件和frm分离。 ALTER TABLE test_table DISCARD TABLESPACE;

c、把之前要恢复的 .ibd文件复制到新的表结构文件夹下。 使当前的ibd 和frm发生关系。ALTER TABLE test_table IMPORT TABLESPACE;  

这个时候没有错误,说明已经建立好了。如果能查到数据,到此就OK了,如果不行,请执行如下操作。

d、相比这里大家已经知道为什么了,这个模式也不是说改了数据库就可以在生产环境使用。更改 innodb_force_recovery=1 , 如果不成修改为 2,3,4,5,6。直到可以 查询出数据为止,然后dump出来。数据就备份出来了。

e、把所有数据导出后,在新的数据库导入。所有数据就生成了。

引自:Http://www.cnblogs.com/loGo-fox/p/6210533.html

您可能感兴趣的文档:

--结束END--

本文标题: Mysql 通过frm&ibd 恢复数据

本文链接: https://www.lsjlt.com/news/51411.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql 通过frm&ibd 恢复数据
           mysql存储在磁盘中,各种天灾人祸都会导致数据丢失。大公司的时候我们常常需要做好数据冷热备,对于小公司来说要做好所有数据备份需要支出大量的成本,很多公...
    99+
    2024-04-02
  • MySQL 5.6.26 通过frm & ibd 恢复数据过程
    在A服务器上创建数据库yoon root(yoon)> show create table yoon\G *************************** 1. row ************...
    99+
    2024-04-02
  • mysql通过.frm和.ibd 文件恢复数据库
     问题背景:由于强制在服务关闭mysql导致部分数据表以及数据丢失 如下图只有.frm .ibd的文件为我的问题文件 查找不到表结构和表数据目录D:XXXX\mysql-5.7.24-winx64\data\mydata  从frm文件中...
    99+
    2023-09-21
    数据库 mysql
  • MySQL 5.7 通过frm和ibd文件恢复数据
    MySQL 5.7 通过解析frm和ibd文件恢复数据 .frm文件存储表结构 .ibd文件存储数据 以恢复表IP_PATENT_APPLICANT_LIST为例, 有待恢复表文件IP_PATENT_...
    99+
    2023-10-20
    mysql 数据库 java
  • 【mysql数据损坏,通过ibd和frm文件批量恢复数据库数据】
    问题描述 客户那边的测试服务器下午3:00左右因不明原因,所有服务访问不了,ssh也无法连接,客户手动进行强制重启服务器,重启后将所有应用、中间件重启,重启nacos时发现无法连接数据库,通过账号密码...
    99+
    2023-09-02
    数据库 mysql
  • Mysql5.7利用frm与ibd恢复数据
    Mysql5.7利用frm与ibd恢复数据 1、新建一个同名数据库,并且在里面新建一张表同名的表,字段随意。 ---如果有原来表的表结构,那这步可以省略 将my.cnf配置文件增加innodb_fo...
    99+
    2024-04-02
  • Mysql怎么通过ibd文件恢复数据
    这篇文章主要介绍了Mysql怎么通过ibd文件恢复数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql怎么通过ibd文件恢复数据文章都会有所收获,下面我们一起来看看吧。恢复步骤1、创建数据库(随意创建)...
    99+
    2023-07-02
  • MYSQL8 通过ibd文件恢复表数据
    目录 1.新建一个与原表结构相同的表,如果不记得的话,也可通过ibd文件查询表结构,方法如下:  2.移除表空间  3.关闭mysql服务,将备份的ibd文件放入合适位置  4.重新导入表空间  5.注意点: 注意:mysql8以上只...
    99+
    2023-09-02
    mysql 数据库
  • 通过binlog恢复mysql数据
    通过binlog恢复mysql数据 基本流程 一、确定要恢复的时间点 确定要恢复到的时间点,可以使用以下命令查看binlog相关信息;或者根据误操作的时间来决定要恢复的时间点。 # 查询 BINLO...
    99+
    2023-09-12
    mysql 数据库
  • MySQL——通过binlog恢复数据
    目录 1.binlog基本概念 2.MySQL开启binlog 3.使用binlog日志恢复数据 3.1.恢复前准备工作 3.2.数据恢复 3.2.1.通过mysqlbinlog将binlog转为sql,以方便查询具体位置 3.2.2.查看...
    99+
    2023-09-01
    mysql
  • mysql怎样从ibd文件恢复数据
    小编给大家分享一下mysql怎样从ibd文件恢复数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql从ibd文件恢复数据...
    99+
    2024-04-02
  • mysql通过binlog恢复或回滚数据
    前言 近期项目开发中出现了一次误删的操作,于是在网上查找了mysql的回滚操作,这里记录一下。 简单说下binlog,binlog是mysql中的二进制日志,其记录了数据库发生更改的各种变化。所以通过binlog可以回滚或者恢复失误的操作。...
    99+
    2023-08-31
    mysql mysqlbinlog binlog2sql mysql回滚
  • MySQL中怎么利用ibd文件恢复数据
    MySQL中怎么利用ibd文件恢复数据,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。#创建表CREATE TABLE `i...
    99+
    2024-04-02
  • mysql通过binlog日志恢复误删数据
    1、先查看binlog功能是否开启 show variables like '%log_bin%'; log_bin为ON说明可以使用binlog恢复,如果为OFF说明没有开启binlog。 2、删...
    99+
    2023-09-06
    mysql 数据库
  • mysql数据如何通过data文件恢复
    目录mysql数据通过data文件恢复mysql数据恢复方法个人总结步骤其它笔记总结mysql数据通过data文件恢复 mysql磁盘文件被损坏,无法启动,能看到data文件,在没有备份的话如何复原? 情景1:知道数据库...
    99+
    2022-12-13
    mysql恢复数据 mysql通过data文件恢复 mysqldata文件恢复
  • 怎么通过日志文件恢复MySQL数据
    这篇文章主要介绍“怎么通过日志文件恢复MySQL数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么通过日志文件恢复MySQL数据”文章能帮助大家解决问题。1、找到最新的 binlog 文件进入 ...
    99+
    2023-06-29
  • MySQL中怎么通过binlog日志恢复数据
    本篇文章为大家展示了MySQL中怎么通过binlog日志恢复数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、数据备份操作的前一天晚上进行了日常逻辑备份mysq...
    99+
    2024-04-02
  • MySQL数据库通过Binlog恢复数据的详细步骤
    目录Mysql Binlog 简介开启Binlog使用Binlog恢复数据附录总结 Mysql Binlog 简介 Mysql Binlog是二进制格式的日志文件Binlo...
    99+
    2024-04-02
  • Mysql如何通过binlog日志恢复数据详解
    目录前言方法如下总结前言 MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备...
    99+
    2024-04-02
  • 教你如何通过日志文件恢复MySQL数据
    目录前言1、找到最新的 binlog 文件2、找到我们想恢复数据在日志文件里的开始结束位置2.1、使用时间范围2.2、使用 position 范围3、恢复3.1 通过时间恢复3.2 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作