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中百分号需要转义

总结

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

相关推荐
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
0xDevNull6 小时前
MySQL数据冷热分离详解
后端·mysql
科技小花6 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸6 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain6 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希7 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神7 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员7 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java7 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿7 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb