zoukankan      html  css  js  c++  java
  • mysql通过数据文件恢复数据方法

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

    数据文件如下:

    于是觉得不能使用覆盖文件的方式还原数据,得使用科学方法恢复。google之……

    找到解决办法如下:

    可以发现数据目录下有对应数据库名称的文件夹,文件夹下有很多 表名.ibd 文件,这些文件其实就是数据,我们要利用它们来恢复

    恢复步骤:

    1.在新库里面创建结构相同的数据库和表(这个可以根据服务器备份数据或本地数据库来弄)

    2.使用  ALTER TABLE test DISCARD TABLESPACE; 丢弃表空间(test=表名,需要对每张表执行一次该命令,可以先在本地把每条命令编辑好 一次执行)

      PS:执行完后发现新库数据文件夹里 tsst.idb 已被删除

    3.把老数据文件夹下的 test.idb 文件复制到新数据文件夹下(test=表名,需要对每张表执行一次该操作)

    4.再执行 ALTER TABLE test IMPORT TABLESPACE;  导入表空间(test=表名,需要对每张表执行一次该命令

    然后数据就恢复了。可以愉快的玩耍了~~~~

  • 相关阅读:
    消息分发
    subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1.
    ubuntu14.04 安装python3.7
    通过shell脚本查看python版本并比较
    shell 小数比较大小
    python 私有方法
    python 类的倒入
    python 路径拼接
    python 脚本接受参数
    python 获取文件运行路径
  • 原文地址:https://www.cnblogs.com/yzeng/p/9020307.html
Copyright © 2011-2022 走看看