zoukankan      html  css  js  c++  java
  • 记一次mysql数据恢复

    确切的说更像是一次数据迁移。

    背景介绍:

             操作系统:Windows Server 2008 R2

             数据库版本:MySQL 5.5

             数据库的安装目录与数据文件目录不在同一个磁盘,数据文件所在的目录磁盘损坏。而后通过数据恢复工具恢复数据文件。前期研发的同事尝试启动恢复数据库,不成功,多轮尝试不成功后找到我。

    1.得到同事给的数据文件 ibdata1,Mysql安装目录MySQLMySQL Server 5.5。调整my.ini文件尝试启动数据库。

    2.将mysql base dir 拷贝到英文目录D: est,重新配置my.ini。切换目录尝试启动。

    3.启动另外一个窗口尝试登录

    4.尝试跳过密码验证,设置参数skip-grant-tables

    5.查看数据库

    6.并没有发现业务库,进一步查看用户。

    7.查看搜索引擎,InnoDB启动了。

    8.查看错误日志

    170121 11:31:27  InnoDB: Error: page 7 log sequence number 1055477743
    InnoDB: is in the future! Current system log sequence number 566049292.
    InnoDB: Your database may be corrupt or you may have copied the InnoDB
    InnoDB: tablespace but not the InnoDB log files. See
    InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
    InnoDB: for more information.
    170121 11:31:27  InnoDB: Error: page 1 log sequence number 1055476531
    InnoDB: is in the future! Current system log sequence number 566049292.
    InnoDB: Your database may be corrupt or you may have copied the InnoDB
    InnoDB: tablespace but not the InnoDB log files. See
    InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
    InnoDB: for more information.

    9.看到了报错,日志文件与数据文件内容不符。 证明数据文件是读到了的,只是,没有业务用户,没有表的定义。重新与报表工程师沟通,得知业务库数据库名为JD,用户也为JD。开始感觉有地方不对劲了,如果只是Innodb的数据文件损坏,mysql.user中应该是有用户记录的呀,怀疑这个安装目录不是原始的Mysql安装目录。

    10.找到原始安装目录,进行目录替换。

    11.可以查到数据了。尝试通过mysqldump 的方式导出数据。

    mysqldump --database jd > jd_db.sql

    之后搭建好新的环境,导入数据库,创建好用户,授权。(唯一注意的一点是字符集的问题)

    至此整个数据恢复工作完成。

  • 相关阅读:
    CodeForces
    CodeForces
    CodeForces 718C && HDU 3572 && Constellation
    CodeForces
    USACO 5.4 tour的dp解法
    10.22~10.28一周经典题目整理(meeting,BZOJ4377,POJ3659)
    codeforces 724D
    codeforces 724C
    hdu5909 Tree Cutting
    hdu5822 color
  • 原文地址:https://www.cnblogs.com/Alex-Zeng/p/6337160.html
Copyright © 2011-2022 走看看