共计 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