Hiccup
发布于 2024-03-19 / 142 阅读
0
0

数据库备份: 备份Docker里的MySql

数据库备份: 备份 Docker 里的 MySql

注:确保你已经安装了 DockerMySQL ,并且 MySQL 容器正在运行。

1. 创建备份目录:

创建一个备份目录,用于存储备份文件。例如,在/backup目录下创建一个名为mysql-backups的子目录。

mkdir -p /backup/mysql-backups

2. 编写备份脚本

编写一个Shell脚本(例如backup-mysql.sh),用于执行备份操作。以下是一个简单的示例脚本,它使用mysqldump命令导出MySQL数据库,并将备份文件保存到指定的目录。

#!/bin/bash

# MySQL容器名称或ID
CONTAINER_NAME="your-mysql-container"

# 备份文件存储路径
BACKUP_DIR="/backup/mysql-backups"

# 当前日期作为备份文件名的一部分
BACKUP_FILE="${BACKUP_DIR}/backup_$(date +%Y%m%d_%H%M%S).sql"

# 执行备份命令
docker exec -it ${CONTAINER_NAME} mysqldump -u your_mysql_username -pyour_mysql_password your_database_name > ${BACKUP_FILE}

# 检查备份是否成功
if [ $? -eq 0 ]; then
    echo "MySQL backup completed successfully: ${BACKUP_FILE}"
else
    echo "MySQL backup failed."
fi

确保将your-mysql-container替换为你的MySQL容器的实际名称或ID,your_mysql_usernameyour_mysql_passwordyour_database_name替换为你的MySQL用户名、密码和数据库名称。

3. 添加权限与设置定时任务

3.1. 为脚本添加执行权限

chmod +x /path/to/backup-mysql.sh

3.2. 设置定时任务

设置一个定时任务(cron job)来自动执行备份脚本。编辑cron表:

crontab -e

添加一行来定义何时运行你的备份脚本。例如,如果你想每天凌晨2点执行备份,可以添加以下行:

0 2 * * * /path/to/backup-mysql.sh

保存并退出编辑器。


评论