码迷,mamicode.com
首页 > 数据库 > 详细

MySQL系列之F-3------MySQL恢复

时间:2015-07-13 01:04:51      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:二进制   在线   mysql   信息   切割   

1、先进行二进制文件的切割

因为是在线恢复,所以二进制文件在恢复的时候也会将恢复过程写入到里面,所以,先进行二进制文件的切割

shell >mysqladmin -h 127.0.0.1 -uroot -poracle flush-log

可以看到,原来只有mysqlbin_test.000001、mysqlbin_test.000002

、mysqlbin_test.000003,切割之后有了mysqlbin_test.000004,这样在恢复的时候就不会影响到之前的二进制文件(原因:因为通过备份文件只能恢复到备份时间点的数据,但是,从备份时间点到数据损坏之前的数据没有办法进行恢复的,所以我们采用切割的方式将二进制文件切割,再将原来的二进制文件通过mysqlbinlog转换成sql文件,更改sql文件中的信息使得更新到损坏时间点之前的数据情况)

 

2、通过备份文件进行恢复

shell >mysql -h 127.0.0.1 -uroot-poracle test123 </opt/test123_bak.sql

3、检查数据是否进行恢复(我们主要是想恢复test123中的test表中的内容)

 

shell> mysql -h 127.0.0.1 -uroot-poracle -e “select * from test123.test”

 

4、通过mysqlbinlog将二进制文件进行转换,进入到data目录

shell >mysqlbinlog -d testmysqlbin_test.000001 >bin_test01.sql

 

其中-d是指定涉及到的表

shell >mysqlbinlog -d testmysqlbin_test.000002 >bin_test02.sql

shell >mysqlbinlog -d testmysqlbin_test.000003 >bin_test03.sql

 

5如果有错误操作,将最新的二进制sql文件即bin_test03.sql中的错误操作sql语句删除vi bin_test03.sql,一般应该在最后。之后,进行恢复

vi bin_test03.sql

 

6、进行二进制文件恢复

mysql -h 127.0.0.1 -u root -poracletest123 </data/bin_test01.sql

mysql -h 127.0.0.1 -u root -poracletest123 </data/bin_test02.sql

mysql -h 127.0.0.1 -u root -poracletest123 </data/bin_test03.sql


本文出自 “技术博” 博客,谢绝转载!

MySQL系列之F-3------MySQL恢复

标签:二进制   在线   mysql   信息   切割   

原文地址:http://hostman.blog.51cto.com/6303208/1673523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!