docker下mysql容器数据的定时备份与恢复

1、数据备份脚本

  vim mysqldump.sh
  #!/bin/bash
  docker exec -i 容器id/容器名 mysqldump -uroot -proot -A > /mydata/mysqldump/mydb.sql

-A 表示备份所有数据库的结构和数据。更多内容请看:https://blog.csdn.net/qq_36264795/article/details/127665352
直接在docker里执行备份则使用:docker exec -it 容器id/容器名 mysqldump -uroot -proot -A > /mydata/mysqldump/mydb.sql
2、添加定时任务。cron表达式更多内容请看:https://www.51cto.com/article/681950.html

  vim /etc/crontab

  0 1 * * * root /home/script/mysqldump.sh

3、数据恢复
1)将备份文件copy到容器内:

  ## docker cp 源文件路径 容器id/容器名:容器内目标路
  docker cp /mydata/mysqldump/mydb.sql mysql:/etc/mysql

2)进入容器连接mysql,使用source进行恢复:

  docker exec -it mysql /bin/bash
  mysql -uroot -proot
  source /etc/mysql/mydb.sql
posted @ 2023-03-04 15:49  C_noah  阅读(602)  评论(0编辑  收藏  举报