MySQL MGR 恢复(从库维度)

集群信息

一主两从

端口

角色

3307

3309

3303

从库故障

关掉 3303 从库

删除所有数据,模拟故障

从库恢复还原(物理备份恢复)

备份另一台 处于组关中的 从库的数据,端口为 3309

物理备份
xtrabackup --defaults-file=/etc/my3309.cnf --user=backup --password=123456 --parallel=4 --target-dir=/backup --backup  --socket=/tmp/mysql3309.sock

备份到 /backup 目录下

3303从库数据还原
xtrabackup --defaults-file=/etc/my3303.cnf   --target-dir=/backup  --prepare   ---准备
xtrabackup --defaults-file=/etc/my3303.cnf   --target-dir=/backup  --copy-back  ---还原

修改目录权限

chown -R mysql.mysql /data/mysql3303

3303从库还原组关系

启动

root@LAPTOP-FPIQJ438:/mysql-5.7-3# ./bin/mysqld_safe --defaults-file=/etc/my3303.cnf &
[3] 1392
root@LAPTOP-FPIQJ438:/mysql-5.7-3# Logging to '/data/mysql3303/LAPTOP-FPIQJ438.err'.
2024-02-22T03:23:18.518541Z mysqld_safe Starting mysqld daemon with databases from /data/mysql3303


root@LAPTOP-FPIQJ438:/mysql-5.7-3#

查看 3309 从库 物理备份信息中的 GTID值

root@LAPTOP-FPIQJ438:/mysql-5.7-3# more /backup/xtrabackup_binlog_info
binlog.000006   1162    aadaaaaa-adda-adda-aaaa-aaaaaaddaaaa:1-1129

保存 aadaaaaa-adda-adda-aaaa-aaaaaaddaaaa:1-1129

从库还原组关系

mysql> reset master;
Query OK, 0 rows affected (0.03 sec)


mysql>
mysql>
mysql>
mysql> CHANGE MASTER TO MASTER_USER='root', MASTER_PASSWORD='123456' FOR CHANNEL 'group_replication_recovery';
Query OK, 0 rows affected, 1 warning (0.02 sec)
由于没有保留auto.cnf 文件,需要重新指定组关系


mysql>
mysql> set global gtid_purged='aadaaaaa-adda-adda-aaaa-aaaaaaddaaaa:1-1129';
Query OK, 0 rows affected (0.00 sec)


mysql>
mysql>
mysql>
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (3.42 sec)


mysql>
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-----------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST     | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-----------------+-------------+--------------+
| group_replication_applier | 6e001967-cfc4-11ee-992e-00155d92cd92 | LAPTOP-FPIQJ438 |        3309 | ONLINE       |
| group_replication_applier | a645bf19-cfc8-11ee-bf7e-00155d92cd92 | LAPTOP-FPIQJ438 |        3307 | ONLINE       |
| group_replication_applier | b95d4598-d131-11ee-8e8f-00155d92cb72 | LAPTOP-FPIQJ438 |        3303 | ONLINE       |
+---------------------------+--------------------------------------+-----------------+-------------+--------------+
3 rows in set (0.00 sec)


mysql>

注意:由于模拟故障,将 3303从库 的所有信息全部删除,包括 auto.cnf 文件。该文件里保存着 从库的master信息。还原的时候 3303从库 需要 重新 change master to 加入组关系用户。建议保留 从库auto.cnf 文件

还原成功

从库恢复还原(逻辑备份恢复)

重新初始化 3303 从库(重新安装,模拟故障)

重新安装的库需要 下载 MGR 插件

root@LAPTOP-FPIQJ438:/mysql-5.7-3/bin# mysql -uroot -p -h127.0.0.1 -P3303
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.38-log MySQL Community Server (GPL)


Copyright (c) 2000, 2023, Oracle and/or its affiliates.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql>
mysql>
mysql>
mysql>
mysql> install PLUGIN group_replication SONAME 'group_replication.so';
Query OK, 0 rows affected (0.01 sec)


mysql> show plugins;
+----------------------------+----------+--------------------+----------------------+---------+
| Name                       | Status   | Type               | Library              | License |
+----------------------------+----------+--------------------+----------------------+---------+
| binlog                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| mysql_native_password      | ACTIVE   | AUTHENTICATION     | NULL                 | GPL     |
| sha256_password            | ACTIVE   | AUTHENTICATION     | NULL                 | GPL     |
| MRG_MYISAM                 | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| CSV                        | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| InnoDB                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| INNODB_TRX                 | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_LOCKS               | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_LOCK_WAITS          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP                 | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP_RESET           | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMPMEM              | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMPMEM_RESET        | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP_PER_INDEX       | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_CMP_PER_INDEX_RESET | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_BUFFER_PAGE         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_BUFFER_PAGE_LRU     | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_BUFFER_POOL_STATS   | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_TEMP_TABLE_INFO     | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_METRICS             | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_DEFAULT_STOPWORD | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_DELETED          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_BEING_DELETED    | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_CONFIG           | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_INDEX_CACHE      | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_FT_INDEX_TABLE      | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_TABLES          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_TABLESTATS      | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_INDEXES         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_COLUMNS         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_FIELDS          | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_FOREIGN         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_FOREIGN_COLS    | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_TABLESPACES     | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_DATAFILES       | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| INNODB_SYS_VIRTUAL         | ACTIVE   | INFORMATION SCHEMA | NULL                 | GPL     |
| MyISAM                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| PERFORMANCE_SCHEMA         | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| MEMORY                     | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| FEDERATED                  | DISABLED | STORAGE ENGINE     | NULL                 | GPL     |
| BLACKHOLE                  | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| partition                  | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| ARCHIVE                    | ACTIVE   | STORAGE ENGINE     | NULL                 | GPL     |
| ngram                      | ACTIVE   | FTPARSER           | NULL                 | GPL     |
| group_replication          | ACTIVE   | GROUP REPLICATION  | group_replication.so | GPL     |
+----------------------------+----------+--------------------+----------------------+---------+
45 rows in set (0.00 sec)


mysql>

逻辑备份

逻辑备份 另一台 从库 3309 的数据

mysqldump -u backup -p123456 --skip-add-drop-table --set-gtid-purged=on --routines --single_transaction --master-data=2 --all-databases --column-statistics=0 -S /tmp/mysql3309.sock > /backup/all.sql

注意:--set-gtid-purged 参数需要设置为on ,以便在 备份文件中可以看到 GTID

3303从库还原数据
root@LAPTOP-FPIQJ438:/mysql-5.7-3/bin# mysql -uroot -p123456 -h127.0.0.1 -P3303
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.38-log MySQL Community Server (GPL)


Copyright (c) 2000, 2023, Oracle and/or its affiliates.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql>
mysql> source /backup/all.sql

3303从库还原组关系

查看 逻辑备份文件中的 GTID

root@LAPTOP-FPIQJ438:/mysql-5.7-3/bin# more /backup/all.sql
-- MySQL dump 10.13  Distrib 8.0.32, for Linux (x86_64)
--
-- Host: localhost    Database:
-- ------------------------------------------------------
-- Server version       5.7.38-log


/*!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 @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!50606 SET @OLD_INNODB_STATS_AUTO_RECALC=@@INNODB_STATS_AUTO_RECALC */;
/*!50606 SET GLOBAL INNODB_STATS_AUTO_RECALC=OFF */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;


--
-- GTID state at the beginning of the backup
--


SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ 'aadaaaaa-adda-adda-aaaa-aaaaaaddaaaa:1-1130';


--
-- Position to start replication or point-in-time recovery from
--


-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.000006', MASTER_LOG_POS=1486;


--
-- Current Database: `mysql`
--


CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysql` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;


USE `mysql`;

GTID为 aadaaaaa-adda-adda-aaaa-aaaaaaddaaaa:1-1130,将该值保存

从库还原组关系

mysql>
mysql> reset master;
Query OK, 0 rows affected (0.02 sec)


mysql>
mysql>
mysql>
mysql> CHANGE MASTER TO MASTER_USER='root', MASTER_PASSWORD='123456' FOR CHANNEL 'group_replication_recovery';
Query OK, 0 rows affected, 1 warning (0.04 sec)


mysql>
mysql>
mysql>
mysql> set global gtid_purged='aadaaaaa-adda-adda-aaaa-aaaaaaddaaaa:1-1130';
Query OK, 0 rows affected (0.01 sec)


mysql>
mysql>
mysql>
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (3.04 sec)


mysql>
mysql>
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-----------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST     | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-----------------+-------------+--------------+
| group_replication_applier | 6e001967-cfc4-11ee-992e-00155d92cd92 | LAPTOP-FPIQJ438 |        3309 | ONLINE       |
| group_replication_applier | 80a3a411-d133-11ee-9ea9-00155d92cb72 | LAPTOP-FPIQJ438 |        3303 | ONLINE       |
| group_replication_applier | a645bf19-cfc8-11ee-bf7e-00155d92cd92 | LAPTOP-FPIQJ438 |        3307 | ONLINE       |
+---------------------------+--------------------------------------+-----------------+-------------+--------------+
3 rows in set (0.00 sec)


mysql>
mysql>

还原组关系成功

总结

1.这两种还原方法同样适用于 MGR中加入新节点。

2.从节点组关系恢复 或者 组关系中新加入节点,从节点数据恢复同步是一方面,更重要的是gtid_purged,组关系靠GTID值来同步事务。在各节点数据一致的情况下,gtid_purged值不同也会导致还原失败。如果从库gtid_purged值不是组关系成员中的gtid_purged值。 加入组关系时 从库 会从初始的 gtid_purged值同步。导致 重复执行 其它组成员已经执行过的 gtid 事务,日志中会报 数据已存在,同步停止 的错误。

3.还原故障节点组关系 或者 新加入成员到组关系。还原时 目标成员的 gtid_purged值 的设置 应该以备份集中的 gtid_purged值 为准 。物理备份 查看 备份集中的 xtrabackup_binlog_info 文件。逻辑备份 备份时需要将--set-gtid-purged 参数 需要设置为on,之后查看备份集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/405075.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea在工具栏中显示快速创建包和类的图标

一、效果图 点击需要创建包或者类的位置,在点击对用的图标就可以快速创建类或者包了。 二、设置 步骤一 View-->Appearance-->Toolbar 步骤二 File-->Settings-->Appearance & Behavior-->Menus and Toolbars-->Main Toolbar-->----…

路飞项目--06

redis介绍和安装 # 数据库: 关系型数据库:mysql、oracle、postgrasql、sqlserver、sqlite IBM:服务器 Oracle:数据库 达梦 EMC:存储 非关系型数据库: redis、mongodb、es…

数据库增删改查

DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数据库用户、控制数…

高录用快见刊【最快会后两个月左右见刊】第三届社会科学与人文艺术国际学术会议 (SSHA 2024)

第三届社会科学与人文艺术国际学术会议 (SSHA 2024) 2024 3rd International Conference on Social Sciences and Humanities and Arts *文章投稿均可免费参会 *高录用快见刊【最快会后两个月左右见刊】 重要信息 会议官网:icssha.com 大会时间:202…

基于生成扩散模型的分子对接程序-DiffDock安装及使用

欢迎浏览我的CSND博客! Blockbuater_drug …点击进入 文章目录 前言一、DiffDock是什么?二、DiffDock安装步骤1. 下载2.创建conda环境并安装STEP 1. 创建conda环境并配置STEP 2. 配置ESM和OpenFoldSTEP 3. 检查cuda和pytorch geometric安装STEP 4. 检查p…

Linux:Jenkins用户权限和管理

1.下载插件 由于Jenkins的默认权限管理并不是很精细所以我们安装一个插件进行权限的一个管理 插件名称为:Role-based Authorization Strategy 安装完插件我们再去配置一下 进入全局安全配置 选择这个Role-Based Strategy策略然后保存 2.创建角色 我们这里主要使…

ArcgisForJS如何在线编辑ArcGIS Server发布的几何要素?

文章目录 0.引言1.ArcGIS创建几何要素2.ArcGIS Server发布几何要素3.ArcgisForJS在线编辑ArcGIS Server发布的几何要素 0.引言 ArcGIS For JS 是一种用于创建和编辑地理信息的 JavaScript 库,它允许用户在线编辑 ArcGIS Server 发布的几何要素。本文从ArcGIS创建几…

小程序--应用生命周期

小程序的应用周期处理逻辑都写在app.js中。 一、onLaunch 小程序启动时(初始化完成)执行,只执行一次。 常用于小程序更新,获取启动参数,获取场景值。 二、onShow 小程序启动,或从后台切换至前台时执行。 …

代码随想录算法训练营day20||二叉树part07、● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 【需要领悟一下二叉树遍历上双指针操作,优先掌握递归】 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 思路 题目中要求在二叉…

第四十天| 343. 整数拆分、96.不同的二叉搜索树

Leetcode 343. 整数拆分 题目链接:343 整数拆分 题干:给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积 。 思考:动态规划。…

探索Promise异步模式抽象的变体——Promise.race篇

如果阅读有疑问的话,欢迎评论或私信!! 本人会很热心的阐述自己的想法!谢谢!!! 文章目录 前言初识Promise.race探索Promise.raceAPI实例 前言 在本栏前一篇Promise.all中,我们可以实…

美格智能联合罗德与施瓦茨完成5G RedCap模组SRM813Q验证,推动5G轻量化全面商用

全球5G发展进入下半场,5G RedCap以其低成本、低功耗的特性成为行业焦点。近日,中国移动携手合作伙伴率先完成全球最大规模、最全场景、最全产业的RedCap现网规模试验,推动首批芯片、终端具备商用条件,RedCap端到端产业已全面达到商…

【Vuforia+Unity】AR02-长方体物体识别(Multi Targets)

1.创建模型 选择多维长方体图,这个长方体是生活中的真实物体的拍摄图,提前把6个面拍摄好并裁剪干净。 官网创建模型https://developer.vuforia.com/targetmanager/project/targets?projectId0ddbb5c17e7f4bf090834650bbea4995&avfalse 设置长宽高…

状态模式:灵活应对对象行为变化,实现状态驱动的智能设计

文章目录 **一、技术背景与应用场景****为何使用状态模式?****典型应用场景包括但不限于:** **二、状态模式定义与结构****三、使用步骤举例****四、优缺点分析****总结** 一、技术背景与应用场景 状态模式是一种行为设计模式,用于处理一个对…

分享一个UE的SmoothStep小技巧

SmoothStep节点可以制作更平滑的动画,而如果将max参数作为值传入将value和min参数作为约束,则可以做出类似冲击波的渐变效果: 并且通过修改value与min之间的数值差,可以调节渐变。 这个技巧主要就是可以产生硬边。 比如我们可…

2024年阿里云服务器新购、续费、升级优惠政策和优惠活动大全

2024年阿里云服务器购买、续费、升级优惠政策整理,阿里云服务器优惠价格表:轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价…

信息系统项目管理师(高项)—学习笔记

第一章信息化发展 1.1 信息与信息化 1.1.1 信息 信息是物质、能量及其属性的标示的集合,是确定性的增加。 它以物质介质为载体,在传递和反映世界各种事物存在方式、运动状态等的表征。 信息不是物质,也不是能力,它以一种普遍…

实验室预约|实验室预约小程序|基于微信小程序的实验室预约管理系统设计与实现(源码+数据库+文档)

实验室预约小程序目录 目录 基于微信小程序的实验室预约管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 (1)管理员登录 (2)实验室管理 (3)公告信息…

天府锋巢直播基地:打造西部地区成都直播基地生态圈的领军标杆

数字经济蓬勃发展,直播产业成为赋能引擎以及新的经济增长点。直播电商作为数字经济的一大板块,对我国推动数字化建设有着非常大的作用。德商产投与无锋科技联袂打造了天府锋巢直播产业基地,该成都直播基地致力于打造全域直播基地,…

某胜物流软件三个接口sql注入漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…