mysql中的data下的数据文件(.FRM.MYD.MYI)恢复为数据
Posted 张志建
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中的data下的数据文件(.FRM.MYD.MYI)恢复为数据相关的知识,希望对你有一定的参考价值。
记一次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)
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来操作一下,测试时成功了一次,后面就没有成功了,具体原因暂时不明确!
(更新于2014/10/18)以上方法不适合InnoDB,InnoDB可以尝试使用innodb_force_recovery来操作一下,测试时成功了一次,后面就没有成功了,具体原因暂时不明确!
转载于:
http://www.cnblogs.com/unofficial/p/4030752.html
以上是关于mysql中的data下的数据文件(.FRM.MYD.MYI)恢复为数据的主要内容,如果未能解决你的问题,请参考以下文章
MYSQL数据库备份可以直接复制MYSQL下的DATA文件夹吗