磁盘恢复软件恢复mysql数据_记一次mysql数据恢复

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

背景介绍:

操作系统:Windows Server 2008 R2

数据库版本:MySQL 5.5

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

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

b20372cb009fbe7bd2b10d5a9309a608.png

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

c698b960fcb7fabc60fd9b1afdb99889.png

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

cbf041f5b1b76cedd1de9a223664ddc0.png

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

9a14a190e75145324674369a1bcaa274.png

bbab7b3923dc8fa9d684464d51ad5ff5.png

5.查看数据库

abea6f4c30bb75a5c4d52fa7582c1504.png

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

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

8.查看错误日志

170121 11:31:27 InnoDB: Error: page 7 log sequence number 1055477743InnoDB:is in the future! Current system log sequence number 566049292.

InnoDB: Yourdatabase may be corrupt oryou may have copied the InnoDB

InnoDB: tablespace butnot the InnoDB logfiles. See

InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html

InnoDB:formore information.170121 11:31:27 InnoDB: Error: page 1 log sequence number 1055476531InnoDB:is in the future! Current system log sequence number 566049292.

InnoDB: Yourdatabase may be corrupt oryou may have copied the InnoDB

InnoDB: tablespace butnot the InnoDB logfiles. 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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值