iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql使用xtrbackup+relaylog增量恢复注意事项
  • 783
分享到

mysql使用xtrbackup+relaylog增量恢复注意事项

mysql增量恢复mysqlxtrbackuprelaylog增量恢复 2023-05-12 11:05:06 783人浏览 独家记忆
摘要

目录实验说明参数说明时点说明xtrabackup备份恢复备份prepare恢复复制回原目录relaylog增量恢复初始修改server_id初始化master拷贝binlog为relaylog修改index重启数据库查看

实验说明

本次实验Mysql5.7.19.使用了GTID,row格式的binlog

参数说明

[mysql]
passWord=root@1234
[mysqld]
server_id=1
log_bin
gtid_mode=1
binlog_fORMat=row
basedir=/usr/local/mysql
datadir=/home/mysql/data

时点说明

bin.000001 1-154

创建test表

bin.000001 154

xtrabackup --backup

bin.000001 154-end

创建test_dml表,test表数据

bin.000002

test表插入数据

xtrabackup备份恢复

备份

[root@mysql57-1 tmp]# xtrabackup --user=root --password=root@1234 --Socket=/tmp/mysql.sock --backup --target-dir=/tmp/bak
....
230508 15:48:12 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '2568864'
xtrabackup: Stopping log copying thread.
.230508 15:48:12 >> log scanned up to (2568873)
230508 15:48:13 Executing UNLOCK TABLES
230508 15:48:13 All tables unlocked
230508 15:48:13 [00] Copying ib_buffer_pool to /tmp/bak/ib_buffer_pool
230508 15:48:13 [00]        ...done
230508 15:48:13 Backup created in directory '/tmp/bak/'
MySQL binlog position: filename 'mysql57-1-bin.000001', position '154'
230508 15:48:13 [00] Writing /tmp/bak/backup-my.cnf
230508 15:48:13 [00]        ...done
230508 15:48:13 [00] Writing /tmp/bak/xtrabackup_info
230508 15:48:13 [00]        ...done
xtrabackup: Transaction log of lsn (2568864) to (2568873) was copied.
230508 15:48:13 completed OK!

prepare恢复

[root@mysql57-1 bak]# xtrabackup --prepare --target-dir=/tmp/bak
InnoDB: 96 redo rollback segment(s) found. 1 redo rollback segment(s) are active.
InnoDB: 32 non-redo rollback segment(s) are active.
InnoDB: 5.7.40 started; log sequence number 2569237
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 2569256
230511 16:54:37 completed OK!

复制回原目录

cp -r /tmp/bak /home/mysql/data
chown -R mysql:mysql /home/mysql/data

relaylog增量恢复初始

修改server_id

做为relay log来读取binlog,需要server id不能一致。

重启sever会自动启动slave sql thread。我个人尝试start slave sql_thread不能成功,但是重启实例可以。

vi /etc/my.cnf
server_id=2

初始化master

主要是通过该命令将relaylog的相关初始化出来。因为使用的GTID,不需要指定pos

CHANGE MASTER TO master_host='1',master_password='1',master_user='1',master_log_file='1',master_log_pos=4;

拷贝binlog为relaylog

binlog和relaylog的格式完全相同,只需要将名字处理成relaylog的样式即可

如需要恢复多个,拷贝多个过去即可,我这里的演示只拷贝了一个binlog

cp mysql57-1-bin.000001 /home/mysql/data/mysql57-1-relay-bin.000001
chown mysql:mysql /home/mysql/data/mysql57-1-relay-bin.00000*

修改index

INDEX同步修改

vi mysql57-1-relay-bin.index
./mysql57-1-relay-bin.000001

重启数据库

/etc/init.d/mysql restart

可以看到日志中io thread 错误,sql thread正常

2023-05-11T13:31:30.297886Z 1 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider
using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
2023-05-11T13:31:30.297994Z 1 [ERROR] Slave I/O for channel '': error connecting to master '1@1:3306' - retry-time: 60  retries: 1, Error_code: 2003
2023-05-11T13:31:30.299542Z 2 [Warning] Slave SQL for channel '': If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0
2023-05-11T13:31:30.299616Z 2 [Note] Slave SQL thread for channel '' initialized, starting replication in log '1' at position 4, relay log './mysql57-1-relay-bin.000001' position: 4
2023-05-11T13:31:30.304018Z 0 [Note] Event Scheduler: Loaded 0 events
2023-05-11T13:31:30.304223Z 0 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.7.19-log'  socket: '/tmp/mysql.sock'  port: 3306  MySQL CommUnity Server (GPL)

查看数据确认

mysql> show tables;
+---------------+
| Tables_in_DDD |
+---------------+
| ddl_test      |
| dml_test      |
| pitr          |
| test          |
| ttt           |
+---------------+
5 rows in set (0.00 sec)
mysql> select * from test;
+---+---------------------+
| x | y                   |
+---+---------------------+
| 1 | 2023-05-08 15:51:37 |
| 2 | 2023-05-08 15:51:39 |
| 3 | 2023-05-08 15:51:42 |
| 4 | 2023-05-08 15:51:45 |
| 5 | 2023-05-08 15:51:49 |
+---+---------------------+
5 rows in set (0.00 sec)
mysql> select * from dml_test;
Empty set (0.00 sec)

relaylog增量恢复接续

接续的时候发现relay-log.info里记录的是binlog的名称,这个流程没有指定过pos。怀疑是relaylog内指定的下一个relaylog名称。

拷贝binlog为relaylog

cp mysql57-1-bin.000002 /home/mysql /data/mysql57-1-relay-bin.000002
chown mysql:mysql /data/mysql57-1-relay-bin.000002

修改index

INDEX同步修改

vi mysql57-1-relay-bin.index
./mysql57-1-relay-bin.000002

重启数据库

/etc/init.d/mysql restart

查看数据确认

mysql> use ddd;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------+
| Tables_in_ddd |
+---------------+
| ddl_test      |
| dml_test      |
| pitr          |
| test          |
| ttt           |
+---------------+
5 rows in set (0.00 sec)
mysql> select * from dml_test;
+------+------+
| x    | y    |
+------+------+
|    1 | 123  |
|    1 | qwe  |
|    1 | ttt  |
+------+------+
3 rows in set (0.00 sec)

slave信息清理

恢复流程完成后,清理slave信息,避免报错影响

注:reset slave不会清除同步信息。

reset slave all;

到此这篇关于mysql使用xtrbackup+relaylog增量恢复的文章就介绍到这了,更多相关mysql增量恢复内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: mysql使用xtrbackup+relaylog增量恢复注意事项

本文链接: https://www.lsjlt.com/news/202078.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql使用xtrbackup+relaylog增量恢复注意事项
    目录实验说明参数说明时点说明xtrabackup备份恢复备份prepare恢复复制回原目录relaylog增量恢复初始修改server_id初始化master拷贝binlog为relaylog修改index重启数据库查看...
    99+
    2023-05-12
    mysql增量恢复 mysql xtrbackup relaylog增量恢复
  • 如何通过MySQL relaylog + SQL_Thread 增量恢复binlog
    这篇文章给大家介绍如何通过MySQL relaylog + SQL_Thread 增量恢复binlog,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 数据回...
    99+
    2024-04-02
  • MySQL数据恢复要注意哪些事项
    在进行MySQL数据恢复时,需要注意以下几个事项:1.停止数据库服务:在进行数据恢复之前,先停止数据库服务,以免正在运行的数据库操作...
    99+
    2023-09-22
    MySQL
  • Win7数据恢复需要注意的事项
    Windows7是继XP系统过之后的一款经典操作系统了, 近期微软也已经向合作厂商发出逐步淘汰XP系统的计划了,2014年4月8日开始微软就开始不会对XP进行升级和提供补丁了。总体来说windows7的的结构跟XP是差不...
    99+
    2023-06-01
    Win7 数据恢复 事项
  • mysql 增量备份与恢复使用详解
    目录 一、前言 二、数据备份策略 2.1 全备 2.2 增量备份 2.3 差异备份 三、mysql 增量备份概述 3.1 增量备份实现原理 3.1.1 基于日志的增量备份 3.1.2 基于时间戳的增量备份 3.2 增量备份常用实现方式 3....
    99+
    2023-09-11
    mysql增量备份 mysql增量备份与恢复 mysql增量备份方案 xtrabackup使用 xtrabackup增量备份
  • mysql中contract使用要注意哪些事项
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-23
  • 关于Java中增强for循环使用的注意事项
    序言 for循环语句是java循环语句中最常用的循环语句,一般用在循环次数已知的情况下使用。for循环语句的语法格式如下: java语言 for语句的用法   for(...
    99+
    2024-04-02
  • Mysql中外键使用注意事项有哪些
    这篇文章主要介绍了Mysql中外键使用注意事项有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 外键,FOR...
    99+
    2024-04-02
  • MySQL的Jar包使用指南及注意事项
    MySQL的Jar包使用指南及注意事项 MySQL是一种常用的关系型数据库管理系统,许多Java项目都会使用MySQL作为数据存储的后端。在Java项目中,要与MySQL数据库进行交互...
    99+
    2024-03-01
    mysql jar包 注意事项 sql语句 防止sql注入
  • Mysql InnoDB中B+树索引使用注意事项
    目录一、根页面万年不动二、内节点中目录项记录的唯一性三、一个页面至少容纳 2 条记录一、根页面万年不动 在之前的文章里,为了方便理解,都是先画存储用户记录的叶子节点,然后再画出存储目...
    99+
    2024-04-02
  • 使用mysql索引的注意事项有哪些
    这篇文章主要介绍了使用mysql索引的注意事项有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。mysql的优化可以从硬件设备的选择、操作...
    99+
    2024-04-02
  • 使用idea连接mysql要注意哪些事项
    使用IDEA连接MySQL时需要注意以下事项:1. 确保已安装MySQL服务器,并已在服务器上创建了要连接的数据库。2. 在IDEA...
    99+
    2023-10-26
    idea 数据库
  • mysql悲观锁使用要注意哪些事项
    使用MySQL悲观锁时需要注意以下事项: 需要确保事务的隔离级别设置为Serializable,以确保事务之间的并发访问不会造成...
    99+
    2024-05-08
    mysql
  • MYSQL  group by使用的注意事项有哪些
    本文小编为大家详细介绍“MYSQL  group by使用的注意事项有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“MYSQL  group by使用的注意事项有哪些”文章能...
    99+
    2023-07-02
  • C#开发注意事项:数据备份与恢复策略
    C#开发注意事项:数据备份与恢复策略引言:在现代软件开发中,数据备份与恢复策略是极其重要的一环。任何一个软件系统都离不开数据的存储和处理,而数据一旦丢失,可能会造成严重后果。因此,开发人员在进行C#开发时,应当重视数据备份与恢复策略,确保数...
    99+
    2023-11-22
    数据备份 恢复策略 C#开发
  • 使用c语言常量要注意哪些事项
    使用C语言常量时需要注意以下事项: 常量的值不能被修改。一旦常量被定义后,它的值就不能被修改。 常量的命名应该符合命名规范,...
    99+
    2023-10-23
    c语言
  • mysql拆分函数使用要注意哪些事项
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-24
  • mysql使用索引时的注意事项有哪些
    mysql使用索引时的注意事项有哪些?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql使用索引时需要注意:1、列中含...
    99+
    2024-04-02
  • mysql中date_diff函数使用要注意哪些事项
    在使用MySQL中的DATE_DIFF函数时,需要注意以下几点事项: DATE_DIFF函数用于计算两个日期之间的差值,返回的结...
    99+
    2024-04-23
    mysql
  • mysql中alert语句使用要注意哪些事项
    在使用MySQL中的ALTER语句时,需要注意以下几点事项: 熟悉ALTER语句的语法结构,确保语句书写正确,避免出现语法错误。...
    99+
    2024-04-09
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作