docker安装mysql8自动备份脚本

引用:https://blog.csdn.net/leovnay/article/details/140585094

shell 复制代码
# 创建两个卷
docker volume ls
docker volume create mysqlData
docker volume create mysqlSQL

# 运行容器
docker run -d --name=mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxx -e TZ=Asia/Shanghai -v mysqlData:/var/lib/mysql -v mysqlSQL:/backup --restart always mysql:8.2.0

连接mysql,导入sql

备份数据库

之前挂载了一个 backup,

在容器内部测试导出sql:

shell 复制代码
mysqldump --single-transaction --flush-logs --source-data=2 --routines --opt -uroot -p123456 test > /backup/test_20240713.sql

创建一个shell脚本mysql-backup.sh,写入在宿主机中导出sql的shell:

shell 复制代码
docker exec mysql8 sh -c 'mysqldump --single-transaction --flush-logs --source-data=2 --routines -uroot -pxxx 数据库名字 > /backup/hehe_$(date +\%Y\%m\%d_\%H\%M\%S).sql'

进入corntab

shell 复制代码
crontab -e

添加定时任务:

shell 复制代码
# mysql备份-每1分钟,,,去执行这个mysql-backup.sh,,错误日志放入mysql-backup.log中
*/1 * * * * /var/lib/docker/volumes/mysqlSQL/_data/mysql-backup.sh >> /var/lib/docker/volumes/mysqlSQL/_data/mysql-backup.log 2>&1
shell 复制代码
# 每天凌晨三点执行
0 3 * * *  /var/lib/docker/volumes/mysqlSQL/_data/mysql-backup.sh >> /var/lib/docker/volumes/mysqlSQL/_data/mysql-backup.log 2>&1

保存会及时生效

这个mysql-backup.sh要有执行权限

相关推荐
崔小汤呀4 小时前
Docker部署Nacos
docker·容器
缓解AI焦虑4 小时前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter19 小时前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka
シ風箏20 小时前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
BugShare21 小时前
继《小爱音响》详细说下怎么部署,尤其是关于Docker部分
docker·nas·xiaomusic
至此流年莫相忘1 天前
Kubernetes实战篇之配置与存储
云原生·容器·kubernetes
小马爱打代码1 天前
Docker:完全指南从入门到精通
运维·docker·容器
风流 少年1 天前
mysql mcp
数据库·mysql·adb
ITKEY_1 天前
docker 容器端口映射消失
docker·容器