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

相关推荐
马大胡子15 分钟前
Greenbone(绿骨)开源GVM容器docker部署和汉化介绍
linux·网络安全·docker
AdaTina1 小时前
Docker的分解分析
运维·docker·容器
weisian1511 小时前
云原生--核心组件-容器篇-7-Docker私有镜像仓库--Harbor
docker·云原生·容器
她和夏天一样热4 小时前
【Java面试题04】MySQL 篇
java·mysql·adb
明天不下雨(牛客同名)4 小时前
Docker和K8s面试题
docker·容器·kubernetes
平谷一勺6 小时前
docker存储
运维·docker·容器
zhang-ge6 小时前
docker本地部署ClipCascade,实现跨设备剪贴板同步
docker·容器
IT闫7 小时前
【Docker】——在Docker工具上安装创建容器并完成项目部署
运维·docker·容器
活跃的煤矿打工人7 小时前
【星海出品】K8S调度器leader
云原生·容器·kubernetes
背书包的儿郎7 小时前
docker--什么是docker
运维·docker·容器