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要有执行权限

相关推荐
百***680428 分钟前
MySQL四种备份表的方式
mysql·adb·oracle
Stara05111 小时前
DeepSeek-OCR私有化部署—从零构建OCR服务环境
计算机视觉·docker·ocr·transformers·vllm·deepseek·光学符号识别
熊文豪2 小时前
Docker 缓存优化:通过 cpolar 内网穿透服务远程管理 Redis
redis·缓存·docker·cpolar
剑动山河13 小时前
ubuntu 升级mysql由mysql5.7.42 升级到8.4.0
mysql·ubuntu·adb
计算机小手13 小时前
快速搭建一个 GitHub 开源项目导航网站,提供便捷的信息抓取、智能摘要、分类管理功能
经验分享·docker·github·开源软件
wuxuanok16 小时前
Debug —— 部署微服务中微服务的配置文件及本地注册Nacos没问题但部署到Docker中就注册失败
docker·微服务·架构
曦樂~16 小时前
【Docker】Dockerfile自定义镜像
运维·docker·容器
胡斌附体16 小时前
docker desktop 限制wsl使用内存空间
docker·docker desktop·wsl·卡死·限制内存占用·限制内存
拾心2116 小时前
【云运维】Kubernetes安装(基于 Docker + Calico)
运维·docker·kubernetes