xtrabackup-docker实战

2024-03-08 01:20
文章标签 实战 docker xtrabackup

本文主要是介绍xtrabackup-docker实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

xtrabackup

引言

案例代码可以从https://github.com/WeiXiao-Hyy/k8s_example获取,欢迎Star!

环境准备

创建数据文件夹和备份文件夹

mkdir -p ~/GitCode/xtrabackup/mysql/data
mkdir -p ~/GitCode/xtrabackup/mysql/backup

制作MySQL:5.7运行环境

cd mysql-5.7docker build -t mysqld-prod:5.7 .

制作xtrabackup-2.4.20运行环境

cd xtrabackup-2.4.20docker build -t centos7.8_xtrabackup:v1 .

运行MySQL

docker run -d \
--name mysqld-prod \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3307:3306 \
-v ~/GitCode/xtrabackup/mysql/data:/var/lib/mysql \
mysqld-prod:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

运行xtrabackup

docker run -it -d \
--name centos7.8_xtrabackup \
--restart=always \
-e TZ=Asia/Shanghai \
-v ~/GitCode/xtrabackup/mysql/data:/data \
-v ~/GitCode/xtrabackup/mysql/backup:/backup \
centos7.8_xtrabackup:v1

查看MySQL容器的IpAddress以及执行创建数据库插入/删除操作

执行插入或删除操作才能让MySQL生成bin-log文件

docker inspect mysqld-prod # 查看IPAddress

全量备份

启动xtrabackup备份

# 172.17.0.2 为上一步查看的MySQL容器IPAddressinnobackupex \
--user=root \
--password=123456 \
--port=3306 \
--host=172.17.0.2 \
--socket=/data/mysql.sock \
--datadir=/data /backup

执行prepare操作

xtrabackup --prepare --target-dir=/backup/2024-03-07_21-32-37

用于恢复MySQL

rsync -avrP /backup/2024-03-07_21-32-37 /var/lib/mysql/

修改MySQL文件夹的权限

chown -R mysql:mysql /var/lib/mysql

参考资料

  • https://blog.csdn.net/wfs1994/article/details/80396604#t3
  • https://www.cnblogs.com/xiao987334176/p/13953912.html

这篇关于xtrabackup-docker实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785490

相关文章

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基