Linux系统 docker下mysql容器数据的备份与还原
直接在docker里执行备份则使用:docker exec -it 容器id/容器名 mysqldump -uroot -p123456 --port=3306 数据库名称 > /home/myuser/mydb.sql。##注意替换容器id/容器名 docker exec -it 容器id/容器名 /bin/bash。设置每天1点执行一次,注意替换数据备份脚本路径。可按自己意愿设置cron表达式
1、编写数据备份脚本
vim mysqldump.sh
#!/bin/bash
docker exec -i 替换为自己MySQL容器id/容器名 mysqldump -uroot -p123456 --port=3306 数据库名称 > /home/myuser/mydb.sql
直接在docker里执行备份则使用:docker exec -it 容器id/容器名 mysqldump -uroot -p123456 --port=3306 数据库名称 > /home/myuser/mydb.sql
2、添加定时任务
vim /etc/crontab
设置每天1点执行一次,注意替换数据备份脚本路径。可按自己意愿设置cron表达式
0 1 * * * sh /home/shell/mysqldump.sh
3、数据还原
将备份文件copy到容器内:
## docker cp 源文件路径 容器id/容器名:容器内目标路
docker cp /home/myuser/mydb.sql mysql:/etc/mysql
##注意替换容器id/容器名 docker exec -it 容器id/容器名 /bin/bash
docker exec -it mysql /bin/bash
mysql -uroot -p123456use 数据库名称
source /etc/mysql/mydb.sql
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)