本文章配套视频 | https://www.ixigua.com/7092728111422407198 |
本专栏全部文章 | https://blog.csdn.net/tonghu_note/category_11716546.html |
总目录 | https://blog.csdn.net/tonghu_note/article/details/124333034 |
来我的dou音 aa10246666, 看配套视频
一、实战环境
节点 node4 | mysql 8.0.28 | 10.211.55.7 |
本文主要讲解如何基于position的方式使用“备份文件+bin log”把数据库恢复到任意一个我们期望的时间点
二、操作场景
步骤 | 会话 | 命令 |
第1步 | session 1 | reset master; |
第2步 | session 1 | use d1;create table t1(id int); |
第3步 | session 1 | insert into t1 select 1; |
第4步 | session 2 | mysqldump -uroot -proot --single-transaction --triggers --routines --events --source-data=2 -A > alldb.dump |
第5步 | session 1 | insert into t1 select 2; |
第6步 | session 1 | insert into t1 select 3; |
第7步 | session 1 | drop table t1; |
... |
我们在第4步的时侯做了一个备份,在第7步做了一个删除表的操作,接下来我们要将数据库恢复到删除表t1之前的状态,也就是第6步(包含第6步)的状态
三、恢复数据库
1、查看备份alldb.dump文件中关于position的记录
root@node4:~# more alldb.dump
-- MySQL dump 10.13 Distrib 8.0.28, for Linux (aarch64)
--
-- Host: localhost Database:
-- ------------------------------------------------------
-- Server version 8.0.28/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET