MySQL 通过 MTS 多线程恢复增量日志备份

文若2年前技术文章677


一、前言

当发生 DDL 误删数据时,只能通过 备份 + 增量日志 来恢复,备份恢复到新实例后,将增量日志备份进行应用,此时只能单线程效率不高,我们可以使用 MySQL 5.7 推出的 MTS 多线程复制机制,进行多线程日志回放。

二、操作案例

1. 全量备份恢复

使用备份恢复一个新的实例:

[root@db2 backup]# ls
backup_20211118  mysql-bin.000001  mysql-bin.000002  mysql-bin.index

-- xtrabackup --prepare --apply-log-only --target-dir=./
-- cp -r backup_20211118 /data/mysql_80/data

2. 将需要恢复的日志 COPY 到新目录

cp mysql-bin.* /data/mysql_80/log_relay/

修改文件名和 index 中的内容:

/data/mysql_80/log_relay/mysql-relay.000001
/data/mysql_80/log_relay/mysql-relay.000002

授权:

chown -R mysql:mysql /data/mysql_80/

3.  修改参数文件启动 MySQL

relay_log = /data/mysql_80/log_relay/mysql-relay
relay_log_index = /data/mysql_80/log_relay/mysql-relay.index
slave_parallel_type=LOGICAL_CLOCK
slave_parallel_workers=16
relay_log_recovery=off
skip_slave_start

修改 server_id 如果不修改 MySQL 回放会认为是自己生成的,会直接跳过。也可以使用 --replicate-same-server-id 启动数据库。

4. 创建复制通道

change master to 
master_host='localhost',
master_port=3306,
MASTER_AUTO_POSITION=0,
RELAY_LOG_FILE='mysql-relay.000001',
RELAY_LOG_POS=4;

启动复制,如果想在某个事物上面停下,可以使用 slave until 语法。

start slave sql_thread;
start slave until SQL_BEFORE_GTIDS ='00024731-1111-1111-1111-111111111111:22';

5. 监控回放情况

show slave status\G

Retrieved_Gtid_Set: dcd7886c-4844-11ec-8c2f-faec3ea1f200:1-2900
Executed_Gtid_Set: dcd7886c-4844-11ec-8c2f-faec3ea1f200:1-201


相关文章

企业Oracle RAC上云闲谈

企业Oracle RAC上云闲谈

随着计算机技术和互联网的不断推进,云计算平台也更加趋于稳定、安全,其显著的性能、方便的资源管理、快捷的应用部署方式越来越为IT业者所接受。目前,云计算已经成为企业数字化转型的重要驱动力。面对基于Ora...

MySQL 函数触发隐式转换应对策略

前言MySQL 中,当 SQL 索引字段使用了函数的话,会出现隐式转换的问题,导致索引失效,从而导致 SQL 执行效率变慢。本篇文章介绍 MySQL 不同版本此类问题的应对策略。1. 环境介绍以下是本...

prometheus黑盒监控

prometheus黑盒监控

一.背景黑盒监控:主要关注的现象,一般都是正在发生的东西,例如出现一个告警,业务接口不正常,那么这种监控就是站在用户的角度能看到的监控,重点在于能对正在发生的故障进行告警。二.操作前了解相关配置和要求...

kaniko构建镜像的方式

docker构建镜像用docker来构建容器镜像也是常用的方法,在具备构建容器镜像所需的两个要素(Dockerfile & 上下文)的前提下,用下述命令就能构建一个容器镜像出来```Plain...

Golang 垃圾回收

Golang 垃圾回收

1、标记清除算法Golang 使用标记清除算法作为垃圾回收器的一部分。标记清除算法是一种常见的垃圾回收算法,它通过标记和清除未被引用的对象来回收内存空间。Golang 中,垃圾回收器会定期扫描堆空间,...

Ranger-hase插件部署

Ranger-hase插件部署

解压插件tar -zxf  ranger-2.3.0-hbase-plugin.tar.gz -C /opt修改配置vi install.properties 内容如下:POLICY_MGR_URL=...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。