zoukankan      html  css  js  c++  java
  • 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)
    如何恢复data文件为数据
    在my.ini文件中,查找“datadir”,按照路径打开,这里就是你本地现在的所有的数据库的名称,找到你要恢复数据的库名,如果没有需要创建一个数据库,然后点击对应的文件夹,将之前的data文件拷贝进去。重启一下mysql服务,再去看看数据库里面有没有数据了呢?
    (更新于2014/10/18)以上方法不适合InnoDB,InnoDB可以尝试使用innodb_force_recovery来操作一下,测试时成功了一次,后面就没有成功了,具体原因暂时不明确!

    本文原创博客地址:http://www.cnblogs.com/unofficial 官网地址: www.pushself.com

  • 相关阅读:
    序一
    Python3 网络爬虫开发实战
    爬虫笔记
    celery
    用yield实现协程 和asyncio模块
    Django学习之完成数据库主从复制、读写分离和一主多从情况下的使用办法
    Django学习之缓存和信号
    Django学习之Django-debug-toobar
    Python面向对象
    Python中 if __name__ == "__main__" 的理解
  • 原文地址:https://www.cnblogs.com/unofficial/p/4030752.html
Copyright © 2011-2022 走看看