PXB初始化从库,需要跳过多个事务如何解决(使用GTID搭建从库)?

使用开源级PXB(Percona Xtrabackup)进行数据库物理备份与恢复 上节介绍的MEB工具不仅功能强大、性能佳,而且适用场景也非常广泛。但是,MEB是企业级软件,这就意味着其需要付费才能使用。对于活跃于开源社区的用户而言,单为使用MEB付费可能有点令人难以接受。那市面上是否存在可以媲美或功能接近MEB的开源软件呢?本节将对标MEB,重点介绍作为开源解决方案的PXB,为大家提供更多选择。PXB软件介绍PXB概述 PXB(Percona Xtrabackup)是一款开源的备份工具,其支持InnoDB、MyISAM、XtraDB等存储引擎数据的在线热备。其特点是备份速度快 阅读详情

问题:PXB初始化从库,需要跳过多个事务如何解决(使用GTID搭建从库)?

解决方案:

可以批量来跳过事务,关键在于找到最后需要的跳过的事务.
主库使用PXB全备前,记录主库GTID,从库使用PXB恢复后跳过事务到前面记录的GTID

主库
记录PXB全备前GTID

mysql[(none)]> show master status\G;
*************************** 1. row ***************************
             File: lissen-mha-master-bin.000002
         Position: 3534
     Binlog_Do_DB: 
 Binlog_Ignore_DB: mysql,information_schema,performance_schema,sys
Executed_Gtid_Set: e48b6f50-44e3-11ec-910d-0242ac110002:1-15
1 row in set (0.00 sec)

ERROR: 
No query specified

主库全备

xtrabackup -uroot -proot -H192.168.59.3 -P33131 --backup --target-dir=/pxb_bak/full
scp -r * root@192.168.68.132:/pxb_bak/full/

创建相关对象

create database db3 charset utf8mb4;
use db3;
create table t1(id int,name varchar(20)); 
insert into t1 values(1,'a'),(2,'b'),(3,'c');

配置从库并进行初始化

xtrabackup --prepare --target-dir=/pxb_bak/full
systemctl stop systemctl
mv /usr/local/mysql/data /usr/local/mysql/data_bak
xtrabackup --copy-back --target-dir=/pxb_bak/full --datadir=/usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/data
systemctl start mysqld

change master to 
master_host = '192.168.68.131',
master_port = 3306,
master_user = 'repl',
master_password = 'repl',
master_auto_position = 1;

计算跳过的GTID

根据前面记录的主库PXB全备前GTID为15
所以要跳过的事务为2-15

批量跳过事务脚本

cat skip_gtid.sh

#!/bin/bash

for i in $(seq 2 15)
do
	mysql -uroot -proot -h192.168.68.132 -P3306 -e "set gtid_next = 'e48b6f50-44e3-11ec-910d-0242ac110002:$i';begin;commit;"
done
mysql -uroot -proot -h192.168.68.132 -P3306 -e "set gtid_next = 'automatic';"

-- mysql -e 中执行多条命令以;分开
mysql -e ";;;"

跳过事务后启动slave sql_thread

               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 573333131
                  Master_UUID: e48b6f50-44e3-11ec-910d-0242ac110002
             Master_Info_File: /usr/local/mysql/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: e48b6f50-44e3-11ec-910d-0242ac110002:1-62
            Executed_Gtid_Set: e48b6f50-44e3-11ec-910d-0242ac110002:1-62
                Auto_Position: 1
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
1 row in set (0.00 sec)
MySQL热备之PXB备份与恢复 阅读详情

相关推荐

【信道编码/Channel Coding】线性分组码

这是本专栏信道编码/Channel Coding的第二站,想对信道编码有一个系统性的认识可以看本专栏的信道编码的整体框架一文。而在本篇文章中,将介绍线性分组码的基本原理。

Tomatomatodo的博客 9243

mysql 全备+binlog恢复数据

    首先确定你的服务器已开启binlog日志,开通、查看教程请自行百度。    windows版本的mysql的binlog日志一般在data这个目录下,其中mysql-bin.index这个文件相当于索引文件,而其他的00000x则是记录了除了select查询语句以外的sql语句。    为了知道我要从哪里开始恢复,哪里结束恢复,我们需要查看mysql-bin.00000x这些文件,在mys...

xueba8的博客 3306

数通基础(基本网络通信原理、IP地址如何配置、DHCP、DNS域名系统、路由技术基础、静态路由 、TCP和UDP、vlan虚拟局域网、trunk、三层交换)

我们知道了1、电脑开机,通过dhcp获取ip地址2、电脑输入域名,www.baidu.com电脑把www.baidu.com发到自己的dns服务器3、dns服务器把域名解析成对应的ip地址4、电脑向百度服务器发送一个请求。

qq_53235556的博客 6476

mysql 跳过一个事物_GTID跳过单个、多个事务的方法

[toc]1、概述使用gtid跳过事务有两种方法:set gtid_next,可以跳过单个事务set GTID_PURGED,可以跳过多个事务2、跳过单个事物情景:主新建了test.t1 表,从误操作删掉了test.t1;主往test.t1中插入一条数据,从库报错主:mysql> begin;mysql> insert into test.t1 values (1,1);mysql&g...

weixin_28977123的博客 1566

Q&A | ZStack替代VMware实问实答

ZStack替代VMware实问实答

zstack_org的博客 1800

STM32F767 GPIO跑马灯工程从零搭建指南

嵌入式开发中,基于HAL库的STM32工程初始化是确保外设可靠运行的基础环节。其核心在于理解芯片时钟树配置原理、GPIO工作模式与硬件电气特性之间的映射关系。正确启用RCC时钟源、合理分配AHB/APB总线分频系数,可保障系统主频稳定;而精准设置推挽输出、上下拉状态及引脚速度,则直接影响LED等基础外设的驱动可靠性。结合STM32CubeMX图形化配置工具,开发者能将寄存器级操作抽象为可视化流程,显著提升工程可追溯性与复用性。本文以STM32F767IGT6和阿波罗开发板为载体,详解从Repository固

weixin_42453228的博客 61

MySQL GTID模式下跳过多个错误

12. 集群管理 12.1. 跳过复制错误 12.1.2. GTID模式下跳过多个错误 12.1.2.1. 非多线程复制下跳过方法 可采用 pt-slave-restart 工具监控MySQL,在MySQL集群复制出错后重启MySQL复制。虽然该工具可以帮助slave跳过错误继续运行,但是你不能依赖它去修复复制。如果slave错误频繁或者意外发生,你应该识别和修复其根本产生源。 1)从Percona Toolkit 2.2.8版本起,pt-slave-restart开始支持由MySQL 5.6.5版本引入的

qq_25241721的博客 341

菱Q系列串行通信模块QJ71C24N:概述与特点

该模块支持多种串行通信协议,包括RS-232、RS-422和RS-485等,并提供了可靠的数据传输和高效的通信性能。菱Q系列串行通信模块QJ71C24N是一款功能强大的模块,具有多种通信协议支持、高速数据传输、多点通信能力和简化配置与使用等特点。简化配置和使用:QJ71C24N模块具有简单易用的配置工具和用户界面,使得用户能够快速进行模块的设置和调整。高速数据传输:QJ71C24N模块提供了高速的数据传输能力,可实现快速的数据交换和通信。本文将介绍QJ71C24N模块的概述和特点,并提供相应的源代码示例。

IunScala的博客 1931

MySQL GTID (四)

七. GTID的限制以及解决方案 7.1 事务中混合多个存储引擎,会产生多个GTID。 当使用GTID,在同一个事务中,更新包括了非事务引擎(MyISAM)和事务引擎(InnoDB)表的操作,就会导致多个GTID分配给同一个事务。 mysql> CREATE TABLE `t_test_myisam` ( -> `id` int(11) NOT NULL, -&gt...

weixin_30782331的博客 220

FPGA 学习笔记:Vitis IDE launch failed 的解决方法

FPGA 学习笔记:Vitis IDE launch failed 的解决方法

坚韧与专注 1万+

动力学约束下的运动规划算法——状态栅格规划器(State Lattice Planner)

A*、RRT等算法建立的用于路径搜索的图模型是不考虑机器人的动力学约束的,其构建的图模型的两个相邻节点之间的路径可能是不可行的,或者很难被机器人跟踪的,现在我们想要使得图中相邻两个节点间的连接是一种满足动力学约束的可行的连接,那么如何构建一个这样的图呢? 构建这样的图通常有两种方法:第一种是基于控制空间的采样(正向方法)

慕羽★的博客 3104

Innobackupex(xtrabackup)物理备份

1.Percona XtraBackup介绍   Percona XtraBackup(简称PXB)是 Percona 公司开发的一个完全开源的用于 MySQL 数据库物理热备的备份工具,在备份过程中不会锁定数据库。它可以备份来自MySQL5.1,5.5,5.6和5.7服务器上的InnoDB,XtraDB和MyISAM表的数据,以及带有XtraDB的Percona服务器。   Pe...

weixin_30888413的博客 1606

如何在 SAP Server Side JavaScript 里消费 destination

在SAP云平台里打开SAP HANA Web-Based Development Workbench进行服务器端JavaScript的开发。 创建一个新的package: 创建一个新的application: 创建一个新的文件google-distance-api.xshttpdest用于维护destination相关信息: host = "maps.googlea...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 611

千万级以上数据量的数据库备份就用---Percona XtraBackup

介绍MySQL的备份Percona XtraBackup的安装及使用。主要针对于在机房服务器部署的数据库,需要自己实现数据库备份,如果用的是云数据库那就不要用自己去实现啦

weixin_56048268的博客 1491

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

GTID跳过单个、多个事务的方法

[toc] 1、概述 使用gtid跳过事务有两种方法: set gtid_next,可以跳过单个事务 set GTID_PURGED,可以跳过多个事务 2、跳过单个事物 情景: 主新建了test.t1 表,从误操作删掉了test.t1; 主往test.t1中插入一条数据,从库报错 主: mysql> begin; mysql> inse...

weixin_34107955的博客 1156

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

恢复MySQL!是我的条件反射,PXB开源的力量...

Xtrabackup 是由 Percona 公司提供的一款 MySQL 数据库备份恢复工具

IT邦德 1782

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

mysql主从搭建--pxb全备

mysql主从搭建--pxb全备

u010555467的博客 299

Mysql GTID模式下跳过错误

https://www.jianshu.com/p/2aed9584c80c GTID(全局事务标示符) 最初由google实现,在MySQL 5.6中引入。GTID在事务提交时生成,由UUID和事务ID组成。UUID会在第一次启动MySQL时生成,保存在数据目录下的auto.cnf文件里,事务id则从1开始自增。使用GTID的好处主要有两点: 不再需要指定传统复制中的 master_log_files和master_log_pos,使主从复制更简单可靠 可以实现基于库的多线程复制,减小主从复制的延

yygr的博客 1691

mysql批量跳gtid_next_MySQL5.7-学习笔记(kylix)-2019.8.13-GTID

GTIDMySQL5.6使用server_uuid和transaction_id两个共同组成一个GTID。即:GTID =server_uuid:transaction_id.server_uuid是MySQL Server的只读变量,保存在数据目录下的auto.cnf中,MySQL第一次启动时候创建auto.cnf文件,其是128bit的uuid。可以通过MySQL客户端使用如下命令查看serv...

weixin_34198817的博客 645

mysql从库在开启GTID时跳过错误的方法

未开启GTID的处理:set global sql_slave_skip_counter=1;如果开启了GTID,则会报错:ERROR 1858 (HY000): sql_slave_skip_counter can not be set when the server is running with @@GLOBAL.GTID_MODE = ON. Instead, for each trans...

胡子的博客 4949

mysql主从同步executed_gtid_set数量异常

目前数据库为一主两从,版本5.6。 昨天发现其中一台数据库数据有缺失类似gtid空洞,执行show slave status发现executed_gtid_set数据不正常,有几个事务卡住。 正常情况应该是这样的 解决过程如下: 1、主库show master status;找到主库uuid的gtid,即变化的gtid,记录前段 2、从库stop slave; show master stat...

工具人的博客 7951

mysql从库Retrieved_Gtid_Set事务数比Executed_Gtid_Set事务数少的异常情况

今天从库crash重启后出现很有趣的现象:可以发现:Retrieved_Gtid_Set值显示从库没有接收到部分事务,丢失了部分事务。但是从Executed_Gtid_Set显示从库没有丢失事务。错误日志:2017-03-0810:41:12118393[ERROR]/usr/local/mysql/bin/mysqld:So...

weixin_33843409的博客 3627

mysql5.7 gtid问题_MySQL 5.7.5: 新语法WAIT_FOR_EXECUTED_GTID_SET 及存在的问题-阿里云开发者社区...

根据worklog的描述,该特性主要是为了解决WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS的缺点:#该功能依赖于slave来运行,如果复制线程没有启动或者出错了,就会返回错误。在某些情况下我们需要一直等待;#返回的是执行的事件的个数,这通常是没有意义的,返回成功或者失败即可。引入新的语法:WAIT_FOR_EXECUTED_GTID_SET(GTID_SET [, TIMEO...

weixin_39960145的博客 394

PXB安装体验

目录 安装软件 innobackupex命令调用 innobackupex备份前提 创建备份目录 执行备份 删库恢复测试 修改目录属主 安装软件 [root@ocp ~]# yum localinstall percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm Error: Package: percona-xtrabackup-24-2.4.12-1.el7.x86_64 (/percona-xtrabackup-24-2.4.12-1....

打工人的博客 1261

MySQL的pxb格式_Python接入mysql数据库

方法一:直接在models里连接mysql数据库,用sql语言操作python2的代码:#coding=utf-8import MySQLdbconn= MySQLdb.connect(host='localhost',port = 3306,user='root',passwd='123456',db ='test',)cur = conn.cursor()#创建数据表#cur.execute(...

weixin_35419195的博客 408

MySQL · 物理备份 · Percona XtraBackup 备份原理

前言 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。我们 RDS MySQL 的物理备份就是基于这个工具做的。 项目的 blueprint 和 bug 讨论放...

weixin_33704234的博客 314
上一篇: Oracle审计篇——统一审计[转]
下一篇: PG创建的初始role不能登录问题
Lissen_Gan
博客等级 码龄13年 11粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值