docker部署的mysql重新启动后数据还在不在_使用docker备份mysql数据库

数据在项目中绝对是非常重要的,若数据发生丢失,很容易造成难以挽回的损失。所以,数据库备份在生产上是必不可少的,下面我们来了解下在docker环境下mysql数据库的备份是如何做的。

一、数据库容器

假设我们在服务器上部署了一个mysql docker容器实例,容器名为mysql,如下图

7ca11c6556b94b11a95c6c62a17085db

docker mysql容器实例

二、定时备份数据库为sql脚本

我们每日进行定时备份数据库,生成sql脚本。

编写定时任务脚本,在/opt/backup/目录下新建backup-task.sh文件,输入以下内容:

taskdate=$(date +%Y%m%d)mkdir /opt/backup/$taskdatedocker exec  mysql mysqldump -uroot -p123456 db1 > /opt/backup/$taskdate/xxx.sql

说明:taskdate根据shell语法生成每日对应的目录以便恢复(如:20200930),最后一行的docker备份sql脚本对应格式为:

docker exec  容器名 mysqldump -u数据库账号 -p数据库密码 数据库实例名 > sql文件地址与文件名

三、配置服务器定时任务

在服务器控制台上输入crontab -e会自动打开定时任务编辑文件

crontab -e

输入以下内容保存

0 0 * * * sh /opt/backup/backup-task.sh

代表每日的0点0分执行该脚本,可以通过crontab -l命令查看是否生效

637bd1e09a0a4a8ea164fde90a30b8de

配置服务器定时任务

四、总结

以上的备份是在docker环境下备份mysql数据库的方法,主要运用了shell命令+docker exec命令+mysql的mysqldump命令+linux定时任务每日生成sql备份脚本。这种方式有可能会存在一段空白区,即最后一次备份后的一段时间内产生的数据没备份。如果对数据特别敏感,在生产环境中可能还需要进行实时备份,可以使用mysql自带的主从模型或其他方式进行备份。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值