阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据

129次阅读
没有评论

共计 832 个字符,预计需要花费 3 分钟才能阅读完成。

记一次 MySQL 中的 data 文件操作经历

想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的 phpmyadmin 程序导出,不能愉快的玩耍,直接联系了 IDC 的同事帮忙导一份 sql 文件出来一下,结果那哥们没得直接扔给了我 data 文件,这让我如何是好,这个问题我没遇见过啊。处于面子问题,又不好意思再让他重新发我一份 sql 文件,只好硬着头皮尝试一下如何恢复成数据。

环境申明

以下操作都是针对 windows 下的操作

Data 文件分析

*.frm 是描述了表的结构,*.MYD 保存了表的数据记录,*.MYI 则是表的索引

MYSQL 数据引擎与字符查看命令(回忆一下操作)

1. 查看数据库编码:

show variables like ‘character%’;

2. 查看数据库支持的引擎和默认数据库引擎代码:

show engines;

3. 查看当前数据库默认的引擎:

show variables like ‘%storage_engine%’;

4. 修改数据库引擎的方式:

找到数据库的配置文件 my.ini,查找“default-storage-engine”,这个指定就是我当前默认的数据库引擎(default-storage-engine=INNODB)

如何恢复 data 文件为数据

在 my.ini 文件中,查找“datadir”,按照路径打开,这里就是你本地现在的所有的数据库的名称,找到你要恢复数据的库名,如果没有需要创建一个数据库,然后点击对应的文件夹,将之前的 data 文件拷贝进去。重启一下 mysql 服务,再去看看数据库里面有没有数据了呢?

(更新于 2014/10/18)以上方法不适合 InnoDB,InnoDB 可以尝试使用 innodb_force_recovery 来操作一下,测试时成功了一次,后面就没有成功了,具体原因暂时不明确!

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138761.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计832字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中