yxhblogs

引言

Binlog 日志的主要作用:
1、增量备份。
2、主从复制。

操作步骤

1、登录 MySQL -> 执行 show variables like \'%log_bin%\'; 查询 binlog 状态。
提示: log_bin => on 说明已经开始 binlog。

2、准备测试数据

// 创建 `test` 数据库
CREATE DATABASE `test`;

// 创建 `user` 数据表
CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `name` varchar(25) DEFAULT NULL,
  `age` int(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

// 插入测试数据
BEGIN;
INSERT INTO `user` VALUES (1, \'liuyi\', 20);
INSERT INTO `user` VALUES (2, \'chener\', 21);
INSERT INTO `user` VALUES (3, \'zhangsan\', 22);
INSERT INTO `user` VALUES (4, \'lisi\', 23);
INSERT INTO `user` VALUES (5, \'wangwu\', 24);
COMMIT;

3、备份数据

4、备份数据之后,执行 flush logs 重新生成一个 binlog 日志,用来记录被备份之后的操作。

5、执行更新操作,将 ID 为 5 的记录 age 修改成 30。

6、由于误删除,将数据表 user 删除掉了。

7、开始将之前的备份数据恢复到数据库。

8、但是,我们发现之前的更新的数据已经丢失了。

9、查询出 binlog 日志 binllog.000002。

10、找到更新操作的 position (位置点)。

11、使用 binlog 进行数据恢复。

12、再次查看数据,已经将数据恢复了。

分类:

技术点:

相关文章: