k8s上运行的mysql、mariadb数据库的备份记录

文章目录

  • 前言
  • 一、获取需要备份的数据库的信息
  • 二、备份步骤
    • 1.准备工作
    • 2.手动备份
    • 3.定时任务自动备份
  • 总结


前言

记录一下在k8s运行的数据库的备份步骤。
我的思路是新建一个数据库的容器作为工具容器,通过工具容器执行mysqldump命令进行备份,最后通过定时任务来执行命令。没有涉及保留时间的问题


一、获取需要备份的数据库的信息

kubectl get svc -A 
mariadb                    mariadb                                   ClusterIP   10.233.20.235   <none>        3306/TCP                                         71d
mariadb                    mariadb-nodeport                          NodePort    10.233.31.133   <none>        3306:30901/TCP 

二、备份步骤

1.准备工作

# 准备备份目录
mkdir -p /data/backup/mysql/
# 获取镜像
docker pull dockerpull.cn/bitnami/mariadb:10.5.11-debian-10-r0
# 运行备份用数据库容器
docker run --name  mariadb-bak-tool -d  -e TZ=Asia/Shanghai -e MARIADB_ROOT_PASSWORD=passwd@123456      dockerpull.cn/bitnami/mariadb:10.5.11-debian-10-r0

2.手动备份

# 利用pod的容器网络的IP连接
/usr/bin/docker exec -it mariadb-bak-tool mysqldump -uroot -ppasswd@123456 --host=10.233.20.235 --port=3306 --all-databases > /data/backup/mysql/all_databases_backup_$(date +"%Y%m%d-%H:%M").sql# 使用nodeport连接
/usr/bin/docker exec -it mariadb-bak-tool mysqldump -uroot -ppasswd@123456 --host=XXX.XX.XX.XX --port=30901 --all-databases > /data/backup/mysql/all_databases_backup_$(date +"%Y%m%d-%H:%M").sql

3.定时任务自动备份

10 6 * * * /usr/bin/docker exec mariadb-bak-tool mysqldump -uroot -ppasswd@123456 --host=XXX.XX.XX.XX --port=30901 --all-databases > /data/backup/mysql/all_databases_backup_$(date +"\%Y\%m\%d-\%H:\%M").sql 2>&1

注意:

  • cron环境中不支持交互式终端,需要去掉-it参数
  • crontab中百分号需要转义

总结

记录一下,后续在项目中用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔面板部署python web项目详细教程

最近在学langchain&#xff0c;写了一个小案例出来&#xff0c;我刚好有一台服务器&#xff0c;就尝试自己部署一下项目&#xff0c;结果很幸运一遍过&#xff0c;现在记录一下。我的系统是OpenCloudOS 9 目录 1.安装python解释器版本 2.上传项目文件到宝塔面板 3.添加项目…

IT选型指南:电信行业需要怎样的服务器?

从第一条电报发出的 那一刻起 电信技术便踏上了飞速发展的征程 百余年间 将世界编织成一个紧密相连的整体 而在今年 我们迎来了第25届世界电信日 同时也是国际电联成立的第160周年 本届世界电信日的主题为:“弥合性别数字鸿沟,为所有人创造机遇”,但在新兴技术浪潮汹涌…

OAuth协议中的Token、Ticket

OAuth协议中的核心概念&#xff08;如Token、Ticket等&#xff09;可以通过日常生活中的类比来形象理解&#xff1a; 1. 门票&#xff08;Ticket&#xff09; vs 令牌&#xff08;Token&#xff09;类比 概念现实类比OAuth中的表现Ticket电影院纸质票&#x1f3ab;短期有效的临…

80x86CPU入栈与出栈操作

一、栈操作&#xff1a;入栈push&#xff0c;出栈pop 栈操作&#xff1a;FILO&#xff08;先进后出机制&#xff09; 栈顶的指针&#xff1a;ss:sp决定&#xff0c;任意时刻栈顶指针指向SS:SP的位置 对于8086CPU 入栈时&#xff1a;sp-2 出栈时&#xff1a;sp2 assume cs…

最优控制:从变分法到庞特里亚金原理

典型问题 根据系统的建模可以划分为&#xff1a; 线性系统&#xff1a; x ˙ A x B u \mathbf{\dot{x}} \boldsymbol{A}\mathbf{x}\boldsymbol{B}\mathbf{u} x˙AxBu非线性系统 x ˙ ( t ) f ( x ( t ) , u ( t ) , t ) \dot{\mathbf{x}}(t) \mathbf{f}(\mathbf{x}(t)…

DeepSeek 提示词大全

目录 前言一、提示词基础理论 什么是提示词提示词的类型提示词的基本结构 二、提示词设计原则 明确指令结构化表达情境化需求渐进式引导边界与限制 三、场景化提示词模板 写作创作类角色扮演类信息提取类代码编程类教育学习类商业营销类生活助手类 四、提示词优化技巧 迭代式优…

安科瑞Acrelcloud-6200系统:智慧路灯安全用电监控平台架构解析

安科瑞顾强———Acrelgq 智慧路灯作为智慧城市与新基建的核心载体&#xff0c;集成了大量异元异构电子设备&#xff0c;其供电安全与能效管理面临电压多样、权属分散、扩展性不足等挑战。本文提出一种融合统一供电、分路计量、智能防护与远程监控的解决方案&#xff0c;通过构…

DMBOK对比知识点对比(1)

1.CDGP各章活动 章节一级

css设置动态数值:clamp函数

CSS 的 clamp() 函数是一个强大的工具&#xff0c;用于创建响应式且范围可控的动态值。它结合了min() 和max() 的逻辑&#xff0c;允许你定义一个值在最小值和最大值之间动态调整。 语法为&#xff1a; clamp(最小值, 首选值, 最大值)&#xff1b; 工作原理&#xff1a; 当 …

数值计算与数据相关参数剖析:保障模型训练稳定与准确

一、计算类型&#xff1a;以BF16为例 1.1 核心作用 BF16 是一种计算方式&#xff0c;它能让模型训练更快&#xff0c;还省内存。比如训练模型时&#xff0c;用普通方式可能很慢&#xff0c;占内存也多&#xff0c;而 BF16 就像给模型开了 “加速键”&#xff0c;训练起来更高…

数据库读写分离解决方案

数据库读写分离解决方案 一、读写分离核心概念 读写分离(Read/Write Splitting)是通过将数据库的读操作和写操作分离到不同的数据库节点来提升系统整体性能的架构模式。 核心原则:写操作集中在主库(Master),读操作分散到从库(Slave),通过数据复制保持主从一致性 二、技术实…

小白的进阶之路系列之七----人工智能从初步到精通pytorch自动微分优化以及载入和保存模型

本文将介绍Pytorch的以下内容 自动微分函数 优化 模型保存和载入 好了,我们首先介绍一下关于微分的内容。 在训练神经网络时,最常用的算法是反向传播算法。在该算法中,根据损失函数相对于给定参数的梯度来调整参数(模型权重)。 为了计算这些梯度,PyTorch有一个内置…

【图像处理基石】立体匹配的经典算法有哪些?

1. 立体匹配的经典算法有哪些&#xff1f; 立体匹配是计算机视觉中从双目图像中获取深度信息的关键技术&#xff0c;其经典算法按技术路线可分为以下几类&#xff0c;每类包含若干代表性方法&#xff1a; 1.1 基于区域的匹配算法&#xff08;Local Methods&#xff09; 通过…

《Map 到底适合用哪个?HashMap、TreeMap、LinkedHashMap 对比实战》

大家好呀&#xff01;今天我们来聊聊Java中超级重要的Map集合家族 &#x1f3a2;。Map就像是一个神奇的魔法口袋&#xff0c;可以帮我们把东西&#xff08;值&#xff09;和标签&#xff08;键&#xff09;一一对应存放起来。不管你是Java新手还是老司机&#xff0c;掌握Map都是…

TencentOSTiny

开放原子开源基金会 腾讯物联网终端操作系统 _物联网操作系统_物联网OS_TencentOS tiny-腾讯云 GitHub - OpenAtomFoundation/TobudOS: 开放原子开源基金会孵化的物联网操作系统&#xff0c;捐赠前为腾讯物联网终端操作系统TencentOS Tiny 项目简介 TencentOS Tiny 是腾讯…

使用 Selenium 进行自动化测试:入门指南

在现代软件开发中&#xff0c;自动化测试已经成为不可或缺的一部分。它不仅提高了测试效率&#xff0c;还减少了人为错误的可能性。Selenium 是一个强大的开源工具&#xff0c;广泛用于 Web 应用程序的自动化测试。本文将详细介绍如何使用 Selenium 进行自动化测试&#xff0c;…

C54-动态开辟内存空间

1.malloc 原型&#xff1a;void* malloc(size_t size);&#xff08;位于 <stdlib.h> 头文件中&#xff09; 作用&#xff1a;分配一块连续的、未初始化的内存块&#xff0c;大小为 size 字节。 返回值&#xff1a; 成功&#xff1a;返回指向分配内存首地址的 void* 指针…

ELK服务搭建-0-1搭建记录

ELK搭建 需要准备一台linux服务器&#xff08;最好是CentOS7&#xff09;,内存至少4G以上&#xff08;三个组件都比较占用内存&#xff09; 演示基于ElasticSearch采用的是8.5.0版本 1、 Docker安装Elasticsearch 创建一个网络 因为我们还需要部署kibana容器、logstash容器&am…

调参指南:如何有效优化模型训练效果

🚀 调参指南:如何有效优化模型训练效果(深度学习实战) 模型跑通不难,调得好才是本事。本篇文章将系统讲解如何在训练过程中有效调参,从学习率到网络结构,从损失函数到正则化,让你的模型效果“飞升”。 🧠 一、为什么需要调参? 初学者常常以为模型训练完就“任务完…

laya3的2d相机与2d区域

2d相机和2d区域都继承自Sprite。 2d相机必须作为2d区域的子节点&#xff0c;且2d相机必须勾选isMain才能正常使用。 2d区域下如果没有主相机&#xff0c;则他和Sprite无异&#xff0c;他的主要操作皆是针对主相机。 2d相机可以调整自己的移动范围&#xff0c;是否紧密跟随&a…