首页 > 数据库 >使用docker 搭建xtrabackup服务,实现mysql全量和增量备份

使用docker 搭建xtrabackup服务,实现mysql全量和增量备份

时间:2023-11-21 17:03:18浏览次数:42  
标签:备份 XtraBackup xtrabackup 全量 mysql 2.4

根据前面的mysql备份调研得知,mysql的备份重头戏就是xtrabackup,mysqldump只能算开胃菜

本篇就着重讨论下xtrabackup的使用,由于考虑到维持虚拟机环境的整洁,和搭建使用的通用和便利性,这里选择基于docker环境使用

照惯例,学习任何一个工具最佳途径就是研读官方文档,这里贴出官方文档:https://docs.percona.com/percona-xtrabackup/2.4/backup_scenarios/full_backup.html

重点分为4节:全量备份,增量备份,压缩备份,加密备份

加密备份一般用不到,这里着重讨论全量备份,增量备份和压缩备份

另外说下xtrabackup的使用场景:xtrabackup一般都是用于一个mysql服务器所有数据库的全量备份,而不是分库来备份,其实联系实际,确实是合理的,如果出现故障,你不可能只恢复里面某个数据库吧,肯定还是全部数据库都要恢复

所以下面所有步骤都是全量备份的场景

但如果涉及到复制数据库这种场景,怎么弄呢,xtrabackup是支持部分备份的( Partial Backups),详情可以参考:https://docs.percona.com/percona-xtrabackup/2.4/xtrabackup_bin/partial_backups.html?h=partial+backups

 XtraBackup目前维护的大版本有两个:
1. XtraBackup 2.4,适用于MySQL 5.6和5.7。
2. XtraBackup 8.0。适用于 MySQL 8.0。

之所以要维护两个版本,是因为MySQL 8.0中的redo log和数据字典的格式发生了变化。

由于我们大部分数据库还是mysql5.7版本,所以我这里用的还是XtraBackup 2.4,但是不影响,两个版本使用命令是一致的

 

标签:备份,XtraBackup,xtrabackup,全量,mysql,2.4
From: https://www.cnblogs.com/allay/p/17846827.html

相关文章

  • mysql数据库死锁
    转载自:https://zhuanlan.zhihu.com/p/506662991?utm_id=0============== 什么是死锁说到死锁,还是先来复习下什么是死锁吧。死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于......
  • 使用docker 搭建xtrabackup服务,实现mysql全量和增量备份
    mysql数据库的备份是运维的重中之重,是保障服务灾难恢复的最后一道屏障在我的构想里,一个完备的mysql容灾体系应该包括高可用架构和一套基础的数据库备份方案高可用架构:MM+ Keepalived,PXC(PerconaXtraDBCluster)或者GR(GroupReplication),来保证故障恢复,并附带一个延迟备库(延迟1......
  • MySQL索引结构演变历史
    MySQL索引结构演变历史什么是索引索引定义:索引是依靠某些数据结构和算法来组织数据,最终引导用户快速检索出所需要的数据例如新华字典中,我们可以通过偏旁部首或者拼音快速找到我们需要查找的字;这里的偏旁部首和拼音就是索引索引选择数据结构历史1.有序数组优点:可以通过下标随机访问......
  • phpstudy无法启动MySQL服务的解决方案
        MySQL这个服务,一直启动不了,原因是phpstudy里的MySQL服务与本地的MySQL占用的都是3306端口,产生了冲突。   在不想卸载好不容易在本地安装的MySQL服务,那么就可以采用以下办法解决服务冲突:        首先按下win+R执行services.msc进入服务,查找到M......
  • django连接mysql pycharm操作sqlite和mysql
    1如果项目使用sqlite,不需要额外配置,直接操作即可2django默认情况链接mysql,用的驱动是mysqldb模块,python3.x以后,这个模块用不了了,咱们用的全都是pymysql,需要做个替换3showmigrations:查看哪些记录更改了,但是没有同步到数据库中3如果使用mysql,需要配置如下: -1配置文件中配置......
  • 使用Java与MySQL开发计算器
    [实验目的]1.掌握软件开发的基本流程2.掌握常用的软件开发方式和工具。[实验内容]设计一个包含登录界面的计算器软件,该软件可以实现第一次作业中的全部功能,同时可以保存用户的历史计算记录(保存数据最好使用数据库)。[实验环境及开发工具]使用MicrosoftVisio作绘图工具使用......
  • MySQL主从搭建及Django实现读写分离
    mysql主从搭建#1主从同步的流程或原理1)master会将变动记录到二进制日志里面;2)master有一个I/O线程将二进制日志发送到slave;3)slave有一个I/O线程把master发送的二进制写入到relay日志里面;4)slave有一个SQL线程,按照relay日志处理slave的数据;#2在home目录下创建mys......
  • mysql 统计所有表的数据量
    在mysql里是可以查询​​information_schema.tables​​这张表的,然后获取我们想要的信息:SELECTtable_rows,table_nameFROMinformation_schema.tablesWHERETABLE_SCHEMA='mysql'andtable_namenotin('db','func')ORDERBYtable_rowsDESC;转自:https://z......
  • 02-MySQL的安装与配置(Windows)
    MySQL数据库MySQL关是一种关系数据库管理系统,所使用的SQL语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之......
  • 01-MySQL概述
    数据库相关概念目前主流的关系型数据库管理系统 ......