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

文章目录


前言

记录一下在k8s运行的数据库的备份步骤。

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


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

shell 复制代码
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.准备工作

shell 复制代码
# 准备备份目录
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.手动备份

shell 复制代码
# 利用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.定时任务自动备份

shell 复制代码
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中百分号需要转义

总结

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

相关推荐
极限实验室4 小时前
APM(一):Skywalking 与 Easyearch 集成
数据库·云原生
饕餮争锋4 小时前
SQL条件中WHERE 1=1 的功能
数据库·sql
玄斎5 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
编织幻境的妖5 小时前
SQL查询连续登录用户方法详解
java·数据库·sql
编程小Y6 小时前
MySQL 与 MCP 集成全解析(核心原理 + 实战步骤 + 应用场景)
数据库·mysql·adb
零度@6 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
Miss_Chenzr7 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
lvbinemail7 小时前
Grafana模板自动复制图表
数据库·mysql·zabbix·grafana·监控
Miss_Chenzr7 小时前
Springboot旅游景区管理系统9fu3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
小虾米vivian7 小时前
dmetl5 运行失败,提示违反协议?
数据库·达梦数据库