该方法并不是适用于所有MySQL数据库

此次恢复是朋友那边的数据查不了了,请求我支援,出于各种心理原因,我答应试试,于是就有了这篇文章和这次经历,废话不多说....

物理条件:宿机是Ubuntu16.4版本

我的vmware:15.5

我的虚机系统:CentOS7.4.1708

我的虚机上MySQL版本:mysql  Ver 14.14 Distrib 5.5.59, for Linux (x86_64) using readline 5.1

朋友的MySQL版本:mysqld  Ver 5.5.30-MariaDB for Win64 on x86

朋友提供的文件,以这一个来说明恢复过程,如要恢复这4个文件一个都不能少

数据库安装

wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.59-1.el7.x86_64.rpm
wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.59-1.el7.x86_64.rpm
yum -y install MySQL-server-5.5.59-1.el7.x86_64.rpm
yum -y install MySQL-client-5.5.59-1.el7.x86_64.rpm
systemctl start mysql
systemctl enable mysql
mysql -uroot -p #首次登录密码为空

修改MySQL登录密码
set password=password('123456');

授权
grant all privileges on *.* to 'root'@'localhost' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by '123456';

============================== 扩展(查看创建表时的SQL语句)=================================================

安装mysqlfrm(查看frm文件的作用)
#下载地址 https://downloads.mysql.com/archives/utilities/
#Product Version:1.6.5
#Operating System:Linux - Generic

wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
tar -zxvf mysql-utilities-1.6.5.tar.gz
cd mysql-utilities-1.6.5
python ./setup.py build
python ./setup.py install

使用mysqlfrm查看要恢复的frm文件
命令格式:mysqlfrm --basedir=数据库安装目录 --port=数据库端口 --user=数据库用户 --diagnostic ./frm文件的具体路径 >转换成.sql,该名字可自定义
        mysqlfrm --basedir=/usr --port=3306 --user=root --diagnostic ./event20191004_0.frm >10.sql

查看10.sql文件
CREATE TABLE `event20191004_0` (
`lid` bigint(20) DEFAULT NULL,
`imergecount` int(11) DEFAULT NULL,
`ceventname` varchar(765) NOT NULL,

......

.....

`ceventmsg` varchar(24576) NOT NULL,
KEY `lidINDEX` (`lid`),
KEY `ltimeINDEX` (`lrecepttime`),
KEY `cdevipINDEX` (`cdevip`)
) ENGINE=MyISAM AVG_ROW_LENGTH = 1000;

修复数据表:

use database_name;
repair table tab_name;

===============================================================================

数据恢复

第一步:将要恢复的frm、MYD、MYI、db.opt放到我的虚机中。

第二步:登录进数据库中随意创建一个库,这里我创建的是opop库。

第三步:将frm、MYD、MYI、db.opt放到opop的目录中,替换opop目录中的所有,如下图所示

第四步:修改这4个文件的属主和数组为mysql,如下图所示(如不修改权限在select数据表时会提示Table '表名' is read only)

第五步:登录数据库,并进入到opop库中查看所有表,因为原本只有一张表,所以下图只显示了一张

因为表很大,在我打开时我的机器整体卡了几分钟,所以我就取消了,如下图

 查看下表结构

 将识别到的event20191004_0表通过mysqldump以.sql文件导出来(此次是以1.sql命名),然后把.sql文件拿到其他服务器上进行source加载下即可

恢复:

任意创建一个数据库,比如创建了一个aa库,use到aa库中然后执行  sourcr  /xx/xx/1.sql   按回车即可

依靠MySQL(frm、MYD、MYI)数据文件恢复的更多相关文章

  1. 数据库是.frm,.myd,myi备份如何导入mysql (转)

    今天找了个案例,琢磨了半天,才分析大概出来,数据库是.frm,.myd,myi备份,不会导入mysql,到网上找了些资料,导入成功. 首先说一下这几种文件是干什么的,*.frm是描述了表的结构,*.M ...

  2. 利用XtraBackup给MYSQL热备(基于数据文件)

    利用XtraBackup给MYSQL热备(基于数据文件) By JRoBot on 2013 年 11 月 26 日 | Leave a response 利用XtraBackup给MYSQL热备(基 ...

  3. mysql之 共享表空间与独立表空间、frm,MYD,MYI.idb,par文件说明

    一.共享表空间与独立表空间MySQL5.5默认是共享表空间 ,5.6中,默认是独立表空间. 共享表空间:ibdata1是InnoDB的共享表空间,默认配置是把全部表空间存放到ibdata1中,因此而造 ...

  4. .frm,.myd,myi转换为.sql导入数据库

    先说说这几种文件是干什么的: *.frm是描述了表的结构, *.myd保存了表的数据记录, *.myi则是表的索引. 其实一个.frm文件就是对应的数据库中的一个表,表示数据表的表结构. .MYD文件 ...

  5. mysql通过数据文件恢复数据方法

    情况描述:服务器硬盘损坏,服务器换了个新硬盘 ,然后老硬盘插在上面.挂载在这台机器.可以从老硬盘里面拿到数据.只拿到了里面的mysql数据文件夹,把数据文件夹覆盖新的服务器mysql数据文件夹 启动报 ...

  6. MySQL数据库---配置文件及数据文件

    1.主配置文件 #/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options' #cat /etc/my.cnf ...

  7. mysql用户授权及数据备份恢复

    用户授权与权限撤销 修改数据库管理员从本机登陆的密码测试: mysqladmin -hlocalhost -uroot -p password "新密码" Enter passwo ...

  8. 模拟误删除InnoDB ibdata数据文件恢复

    注意:假如误删除 ibdata文件 ,此时千万别把mysqld进程杀死,否则没法挽救. 1.模拟删除ibdata数据文件和重做日志文件: [root@hcdb0 data]# lltotal 4219 ...

  9. linux下误删数据文件恢复

    linux下文件被删除能够用非常多工具进行恢复.比如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext ...

随机推荐

  1. grafana根据不同prometheus server统计数据

    场景:由于采集的数据量巨大,所以部署了多台prometheus server服务器.根据业务领域分片采集,减轻prometheus server单节点的压力. 问题:grafana如何同时显示多数据源 ...

  2. FreeRTOS时间管理

    延时函数 vTaskDelay() 相对延时函数,在文件task.c中定义的,要使用的话宏INCLUDE_vTaskDelay必须设置为1: void vTaskDelay( const TickTy ...

  3. Wannafly挑战赛24-A-石子游戏--【思维题】

    链接:https://www.nowcoder.com/acm/contest/186/A 来源:牛客网 石子游戏 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...

  4. 解析.conf配置文件

    解析.conf配置文件 解析.conf配置文件 解析.conf配置文件

  5. PHP批量更新MYSQL中的数据

    原文链接:https://blog.csdn.net/wuming19900801/article/details/62893429 $sql = "update newhouse_clic ...

  6. Web UI开发神器—Kendo UI for jQuery数据管理网格编辑操作

    Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...

  7. CCPC 2016 杭州 E. Master of Subgraph(点分治+bitset优化DP)

    题目链接:http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf 题意:给定一棵有 n 个结点的树和一个数 m,对于 i ∈ ...

  8. C# 未能加载项目文件

    在使用VS打开从网上下载或者从其他地方复制得来的解决方案时,经常会出现这样一个错误,"在解决方案中的一个或多个项目由于以下原因未能加载项目文件或网站已移动或已重命名,或者不在您的计算机上.& ...

  9. P4310 绝世好题 按位DP

    这名字可海星\(OvO\) 思路:\(DP\) 提交:2次(\(zz\)我竟然把三目运算符写错了\(QwQ\)) 题解: 按位进行\(DP\):\(f[i]\)表示结尾的数字包括\(1<< ...

  10. 002_STM32程序移植之_DHT11

    1. 测试环境:STM32C8T6 2. 测试模块:DHT11温湿度模块 3. 测试接口: 1. DHT11温湿度模块接口: DS1302引脚 ---------单片机引脚 VCC---------- ...