centos7中docker的Mysql如何备份数
type
status
date
slug
summary
tags
category
icon
password
类别
内容
备份
常规备份
- 查看Mysql容器是否启动

- 进入容器中,进行数据备份
这里是对每个部分的解释:
uroot
:指定 MySQL 用户名为root
。
p123456
:指定 MySQL 用户的密码为123456
。
your_database
:要备份的特定数据库名称(替换为你需要的数据库名称)。
date +%F_%H-%M-%S
:date
命令格式化日期和时间,%F
代表日期(YYYY-MM-DD
),%H-%M-%S
代表时间(HH-MM-SS
)

时间点有问题
- 将容器中的备份文件,复制到本地备份文件夹中


一步到位


还原
定时备份
这段代码设置了一个定时任务,用于每天凌晨 2 点在 Docker 容器中执行 MySQL 数据库备份,并删除超过一天的旧备份文件。以下是对该代码的详细解释:
定时任务语法(crontab)
时间表达式:0 22 * * *
0
:分钟(表示任务在第 0 分钟运行,即整点)。
- 22:小时(表示任务在凌晨 2 点运行)。
:日期(每天)。
:月份(每月)。
:星期(每周的每天)。
这个时间表达式表示任务将在每天晚上10 点执行。
命令执行顺序
1. 清理旧备份文件
find /mysql_backup/
:在/mysql_backup/
目录中查找文件。
mtime +1
:查找修改时间超过一天(1 天以上)的文件。
name "*.sql"
:查找扩展名为.sql
的文件。
delete
:删除符合上述条件的文件。
这部分命令将清理
/mysql_backup/
目录下超过一天的 .sql
文件。2. 执行数据库备份
sudo
:以超级用户权限执行命令。
docker exec mysql-test
:在名为mysql-test
的 Docker 容器中执行后续命令。
sh -c 'exec mysqldump --all-databases -uroot -p123456'
:在容器中使用sh
解释器执行mysqldump
命令。exec mysqldump --all-databases -uroot -p123456
:使用mysqldump
工具备份所有数据库。uroot
:指定 MySQL 用户名为root
。p123456
:指定 MySQL 密码为123456
。
> /var/mysql_backup/
date +%F_%H-%M-%S.sql
:将备份结果重定向输出到/var/mysql_backup/
目录下的一个文件中,文件名格式为YYYY-MM-DD_HH-MM-SS.sql
(包含当前日期和时间)。

Last update: 2024-06-14
🎉此博客仅为本人记录生活,技术交流所用🎉
-- 如有侵权,请与我联系 ---
-- 感谢您的支持😁 ---