某客户更新数据的时候,误删了数据库的内容,因为数据库做了主从,但是没有做备份(备份很重要啊!)幸好开启了bin-log,之后只好把整个日志的记录拿回来本地进行恢复。之后自己也做了一个简单的测试,对数据进行恢复,具体如下:1、新建一个表
CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;2、插入多条数据
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ("lynn1", "1");
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ("lynn2", "2");
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ("lynn3", "3");
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ("lynn4", "4"); 3、查看数据并删除
mysql> select * from sn_test;
+-------+-----+
| name | age |
+---------+---+
| lynn1 | 1 |
| lynn2 | 2 |
| lynn3 | 3 |
| lynn4 | 4 |
+---------+-----+
4 rows in set (0.00 sec)mysql> delete from sn_test;
Query OK, 4 rows affected (0.00 sec)mysql> select * from sn_test;
Empty set (0.00 sec)4、mysqlbinlog恢复数据
mysqlbinlog mysql-bin.000006 > 1.sql
查看1.txt里面数据插入的纪录,把删除之前的数据进行恢复
mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123重新登录,查看数据,OK,已经成功恢复了对于数据库操作,应该注意如下问题:
1、要常备份(全备,增量备份),出了问题可以最快恢复数据;
2、操作数据库前,要把需要操作的数据库或者表dump出来;
3、需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据Oracle RAC系列之:ASM基本操作维护谈谈Oracle日志文件的INVALID状态相关资讯 MySQL数据恢复
- MySQL基于ROW格式的数据恢复 (05月03日)
- MySQL数据备份与恢复 (05/25/2014 10:51:36)
| - 通过Oracle来辅助MySQL数据问题的 (05/11/2015 14:47:46)
|
本文评论 查看全部评论 (0)