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

相关推荐
Ha_To1 天前
2026.1.28 docker安装
运维·docker·容器
北极熊~~1 天前
emqx持久化 Docker 容器中生成的数据并打包新镜像,迁移至新机器运行
运维·docker·容器
tomiatomia1 天前
MinIO docker 部署使用的几个坑
运维·docker·容器
杨浦老苏1 天前
Docker方式安装你的私人AI电脑助手Moltbot
人工智能·docker·ai·群晖
x70x801 天前
# Docker 搭建 MySQL 8 主从复制(踩坑实录 + 完整验证)
mysql·docker·容器
qq_316837751 天前
docker 运行 cn_clip
运维·docker·容器
木卫二号Coding1 天前
Docker-构建自己的Web-Linux系统-Ubuntu:22.04
linux·前端·docker
春日见1 天前
win11 分屏设置
java·开发语言·驱动开发·docker·单例模式·计算机外设
岳来1 天前
网络小白理解容器网络endpointid
网络·docker·endpoint
江湖有缘1 天前
轻量级知识协作平台搭建:Docker + MediaWiki入门教程
docker·容器·eureka