本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

mysql-dump Docker 镜像下载 - 轩辕镜像

mysql-dump 镜像详细信息和使用指南

mysql-dump 镜像标签列表和版本信息

mysql-dump 镜像拉取命令和加速下载

mysql-dump 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

mysql-dump
cycloid/mysql-dump

mysql-dump 镜像详细信息

mysql-dump 镜像标签列表

mysql-dump 镜像使用说明

mysql-dump 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于MySQL数据库备份与恢复的容器,通过awscli将gzip压缩的备份文件上传至S3存储,支持Docker和K8s环境,使用cron实现定时备份,恢复时可运行脚本指定S3路径。
0 次下载activecycloid镜像

mysql-dump 镜像详细说明

mysql-dump 使用指南

mysql-dump 配置说明

mysql-dump 官方文档

mysql-dump 镜像文档

1. 镜像概述与主要用途

mysql-dump 是一个基于 talset/docker-mysql-backup-s3 项目构建的Docker镜像,主要用于MySQL数据库的定时备份与恢复。该镜像通过awscli或Scaleway CLI工具,将MySQL数据库备份文件(经gzip压缩)存储至AWS S3或Scaleway对象存储,并支持在Docker或Kubernetes环境中运行。

2. 核心功能与特性

  • 定时备份:通过cron任务按指定时间规则自动执行MySQL备份
  • 数据处理:对MySQL数据库执行mysqldump并使用gzip压缩备份文件
  • 对象存储集成:支持将备份文件上传至AWS S3或Scaleway对象存储
  • 手动操作:提供手动触发备份和恢复数据库的脚本
  • 环境适配:兼容Docker容器化部署和Kubernetes集群环境

3. 使用场景与适用范围

  • 定时备份需求:需定期(如每日凌晨)备份MySQL数据库的业务场景
  • 容器化环境:Docker单机部署或Kubernetes集群中的MySQL数据库备份
  • 云存储用户:使用AWS S3或Scaleway对象存储作为备份介质的场景
  • 应急恢复:需要快速从对象存储恢复历史备份数据的场景

4. 使用方法与配置说明

4.1 容器启动流程

容器启动后,按以下流程执行备份操作:

  1. 定时触发:基于BACKUP_TIME环境变量配置的cron表达式定时触发备份
  2. 数据备份:执行mysqldump命令导出指定MySQL数据库数据
  3. 压缩处理:使用gzip压缩备份文件,文件名基于FILENAME配置生成
  4. 上传存储:通过AWS CLI或Scaleway CLI将压缩文件上传至指定对象存储

4.2 手动备份与恢复

4.2.1 手动执行备份

进入运行中的容器,执行以下命令手动触发备份:

bash
./backup

4.2.2 恢复数据库

进入运行中的容器,执行以下命令从对象存储恢复指定备份文件(需指定备份文件在存储桶中的路径):

bash
./restore path/inside-bucket/example.sql.gz

4.3 配置参数(环境变量)

环境变量名称描述
MYSQL_HOSTMySQL数据库主机地址,默认值为localhost,K8s环境示例:$(MYSQL_SERVICE_HOST)
MYSQL_TCP_PORTMySQL数据库端口,默认值为3306,K8s环境示例:$(MYSQL_SERVICE_PORT)
MYSQL_USER连接MySQL的用户名
MYSQL_PWD连接MySQL的密码
MYSQL_DATABASE需备份的数据库名称
FILENAME备份文件名称格式,默认值为backup_%Y-%m-%d_%H-%M-%S,示例输出:backup_2015-08-03_17-58-22
BACKUP_DIR容器内备份文件临时存储目录,必要时可通过卷挂载该目录
BACKUP_TIME定时备份的cron表达式,默认值为0 5 * * *(每日凌晨5点)
AWS存储配置
AWS_ACCESS_KEY_IDAWS访问密钥ID(用于访问S3存储桶)
AWS_SECRET_ACCESS_KEYAWS密钥
AWS_S3_BUCKET存储MySQL备份的AWS S3存储桶名称
AWS_DEFAULT_REGIONS3存储桶所在的AWS区域
Scaleway存储配置
SCW_ACCESS_KEYScaleway访问密钥(用于访问对象存储)
SCW_SECRET_KEYScaleway密钥
SCW_DEFAULT_ORGANIZATION_IDScaleway默认组织ID
SCW_DEFAULT_REGIONScaleway对象存储所在区域

5. 部署示例

5.1 Docker run 命令示例(AWS S3存储)

bash
docker run -d \
  --name mysql-dump \
  -e MYSQL_HOST=mysql-service \
  -e MYSQL_TCP_PORT=3306 \
  -e MYSQL_USER=backupuser \
  -e MYSQL_PWD=backuppassword \
  -e MYSQL_DATABASE=targetdb \
  -e BACKUP_TIME="0 3 * * *" \  # 每日凌晨3点执行备份
  -e FILENAME="mysql_backup_%Y-%m-%d" \
  -e AWS_ACCESS_KEY_ID=AKIAEXAMPLE \
  -e AWS_SECRET_ACCESS_KEY=secretkeyexample \
  -e AWS_S3_BUCKET=my-backup-bucket \
  -e AWS_DEFAULT_REGION=us-west-2 \
  cycloid/mysql-dump

5.2 Docker Compose 配置示例(Scaleway存储)

yaml
version: '3'
services:
  mysql-dump:
    image: cycloid/mysql-dump
    container_name: mysql-dump
    environment:
      - MYSQL_HOST=mysql  # 假设与MySQL服务在同一网络,服务名为mysql
      - MYSQL_TCP_PORT=3306
      - MYSQL_USER=root
      - MYSQL_PWD=rootpassword
      - MYSQL_DATABASE=appdb
      - BACKUP_TIME="*/30 * * * *"  # 每30分钟执行一次备份
      - BACKUP_DIR=/backup  # 可挂载卷持久化临时备份文件
      - FILENAME="appdb_backup_%Y%m%d_%H%M%S"
      - SCW_ACCESS_KEY=SCWEXAMPLEKEY
      - SCW_SECRET_KEY=scwsecretkeyexample
      - SCW_DEFAULT_ORGANIZATION_ID=org-xxxxxx
      - SCW_DEFAULT_REGION=fr-par
    volumes:
      - ./backup:/backup  # 挂载本地目录作为临时备份目录
    restart: unless-stopped

6. 镜像构建方法

如需自定义构建镜像,执行以下命令:

bash
# 构建镜像
sudo docker build -t cycloid/mysql-dump .

# 推送镜像至仓库(需先登录镜像仓库)
sudo docker push cycloid/mysql-dump

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"