共计 1780 个字符,预计需要花费 5 分钟才能阅读完成。
首先开启 binlog 日志,编辑 my.cnf 文件,添加
log-bin = MySQL-bin #开启二进制日志并指定路径及文件名,不设置的话默认在数据存放目录下,名称为 hostname-bin.xxxxx
建立一个测试数据库,创建一个表格,里面随便插入一些数据
mysql > create database student;
mysql > use student;
mysql > create table student(id int,name varchar(10),age int);
mysql > insert into student values (‘1′,’tanglu’,’28’),(‘2′,’zouxiaolu’,’28’),(‘3′,’beibei’,’28’);
进行一次完整的备份,这样前 3 条数据已经做了备份
mysqldump -u root -p student > student.sql
继续插入 4、5、6 三条数据
mysql> insert into student values(‘4′,’doudou’,’8′);
Query OK, 1 row affected (0.01 sec)
mysql> insert into student values(‘5′,’mengmeng’,’28’);
Query OK, 1 row affected (0.00 sec)
mysql> insert into student values(‘6′,’haha’,’10’);
Query OK, 1 row affected (0.01 sec)
误操作删除了之前创建的数据
mysql> delete from student ;
重启一次数据库或者执行数据库语句 flush-logs 来获得一个新的二进制日志文件,这样故障日志都在之前文件里
mysql > flush logs;
利用第一次的备份恢复数据,这样前面 3 条数据就恢复成功
mysql -u root -p student < student.sql
查看 binlog 日志,分析一些正常操作的 position 位置或者是操作时间,然后导出这部分日志并恢复
mysqlbinlog hostname-bin.000001
mysqlbinlog server1-bin.000003 –start-position=1170 –stop-position=1294 > server2.sql
最后进入数据库查看数据已经按条目恢复!
关于使用 MySQL binlog 对数据进行恢复的实战 http://www.linuxidc.com/Linux/2016-01/127808.htm
MySQL 通过 binlog 来恢复数据 http://www.linuxidc.com/Linux/2015-12/126897.htm
MySQL 使用备份和 binlog 进行数据恢复 http://www.linuxidc.com/Linux/2014-12/110875.htm
MySQL 数据恢复--binlog http://www.linuxidc.com/Linux/2014-03/97907.htm
MySQL 中 binlog 日记清理 http://www.linuxidc.com/Linux/2011-02/32017.htm
如何安全删除 MySQL 下的 binlog 日志 http://www.linuxidc.com/Linux/2013-06/86527.htm
MySQL–binlog 日志恢复数据 http://www.linuxidc.com/Linux/2013-04/82368.htm
MySQL 删除 binlog 日志及日志恢复数据的方法 http://www.linuxidc.com/Linux/2012-12/77072.htm
MySQL binlog 三种格式介绍及分析 http://www.linuxidc.com/Linux/2012-11/74359.htm
MySQL 利用 binlog 增量备份 + 还原实例 http://www.linuxidc.com/Linux/2012-09/70815.htm
MySQL 删除 binlog 日志及日志恢复数据 http://www.linuxidc.com/Linux/2012-08/67594.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-04/130348.htm