专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

databack/mysql-backup Docker 镜像 - 轩辕镜像

镜像简介

用于将MySQL数据库备份到任何位置的工具,支持定时备份、恢复操作及旧备份清理。

镜像统计信息

收藏数: 127

下载次数: 33101735

状态: active

发布者: databack

类型: 镜像

mysql-backup
databack/mysql-backup
用于将MySQL数据库备份到任何位置的工具,支持定时备份、恢复操作及旧备份清理。
127 收藏0 次下载activedataback镜像
🚀专业版镜像服务,面向生产环境设计
版本下载
🚀专业版镜像服务,面向生产环境设计

mysql-backup

将MySQL数据库备份到任何位置!

详情请参见官方主页和文档

概述

mysql-backup是一种简单的MySQL数据库备份、恢复及管理工具。

其主要特性包括:

  • 支持备份(dump)与恢复(restore)操作
  • 可将备份存储至本地文件系统或SMB服务器
  • 支持指定数据库用户及密码
  • 可连接至同一系统中运行的任何容器
  • 支持配置备份执行频率
  • 支持设置首次备份开始时间(具体时间或相对于容器启动时间)
  • 支持清理超过指定时间或数量的旧备份

贡献者列表请参见CONTRIBUTORS.md。

版本

当前为最新版本,基于2023年底完成的Golang代码库完全重构,对应1.0.0版本发布。

支持

支持可通过databack Slack频道获取;注册此处。我们接受此处的问题报告及Slack上的一般支持问题。

如需商业支持,请通过上述Slack联系我们。

运行mysql-backup

mysql-backup提供独立二进制文件和容器镜像两种形式。

备份

运行备份时,需以容器或二进制形式启动mysql-backup并指定正确参数。

例如:

bash
docker run -d --restart=always -e DB_DUMP_FREQUENCY=60 -e DB_DUMP_BEGIN=2330 -e DB_DUMP_TARGET=/local/file/path -e DB_SERVER=my-db-address -v /local/file/path:/db databack/mysql-backup dump

# 或

mysql-backup dump --frequency=60 --begin=2330 --target=/local/file/path --server=my-db-address

# 或通过unix域套接字连接本地mysqld(当前用户)

mysql-backup dump --frequency=60 --begin=2330 --target=/local/file/path --server=/run/mysqld/mysqld.sock

或使用配置文件:mysql-backup --config-file=/path/to/config/file.yaml,配置文件内容如下:

yaml
server: my-db-address
dump:
  frequency: 60
  begin: 2330
  target: /local/file/path

上述配置将从my-db-address容器访问的数据库中,每60分钟执行一次备份,首次备份从当天23:30开始。

指定用户密码的示例:

bash
docker run -d --restart=always -e DB_USER=user123 -e DB_PASS=pass123 -e DB_DUMP_FREQUENCY=60 -e DB_DUMP_BEGIN=2330 -e DB_DUMP_TARGET=/db -e DB_SERVER=my-db-address -v /local/file/path:/db databack/mysql-backup dump

# 或

mysql-backup dump --user=user123 --pass=pass123 --frequency=60 --begin=2330 --target=/local/file/path --server=my-db-address --port=3306

备份详细说明参见backup,所有配置选项参见configuration。

恢复

执行恢复操作时,流程相反,需使用restore命令并指定恢复目标。仍需连接数据库,但需替换为恢复相关参数。

基础恢复

恢复现有数据库时,需设置以下环境变量(建议使用--env-file=避免敏感信息泄露到shell历史):

  • DB_SERVER:数据库连接地址(主机名或unix域套接字路径,以斜杠开头),必填。
  • DB_PORT:数据库端口,可选,默认3306。
  • DB_USER:数据库用户名。
  • DB_PASS:数据库密码。
  • DB_NAMES:需恢复的数据库名称,空格分隔,SINGLE_DATABASE=true时必填。
  • SINGLE_DATABASE:若设为true,DB_NAMES必填且只能包含一个数据库名,此时MySQL命令将添加--database=$DB_NAMES参数,无需USE <database>;语句,适用于从SINGLE_DATABASE=true备份的文件恢复。
  • DB_RESTORE_TARGET:恢复文件路径(压缩备份文件),支持绝对路径(需挂载卷)、SMB或S3 URL。
  • DB_DUMP_DEBUG:设为true时,恢复过程将输出详细日志。
  • 使用S3驱动时,需定义AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY和AWS_DEFAULT_REGION。

恢复示例:

  1. 从本地文件恢复:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -e DB_RESTORE_TARGET=/backup/db_backup_201509271627.gz -v /local/path:/backup databack/mysql-backup restore
  1. 使用SSL从本地文件恢复:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -e DB_RESTORE_TARGET=/backup/db_backup_201509271627.gz -e RESTORE_OPTS="--ssl-cert /certs/client-cert.pem --ssl-key /certs/client-key.pem" -v /local/path:/backup -v /local/certs:/certs databack/mysql-backup restore
  1. 从SMB文件恢复:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -e DB_RESTORE_TARGET=smb://smbserver/share1/backup/db_backup_201509271627.gz databack/mysql-backup restore
  1. 从S3文件恢复:
bash
docker run -e DB_SERVER=gotodb.example.com -e AWS_ACCESS_KEY_ID=awskeyid -e AWS_SECRET_ACCESS_KEY=secret -e AWS_REGION=eu-central-1 -e DB_USER=user123 -e DB_PASS=pass123 -e DB_RESTORE_TARGET=s3://bucket/path/db_backup_201509271627.gz databack/mysql-backup restore
恢复特定数据库

多库备份文件可选择恢复部分数据库,或重命名恢复单个数据库(需备份和恢复时均设置SINGLE_DATABASE=true)。

示例:

  1. 多库备份恢复部分数据库:
    • 备份:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -v /local/path:/backup databack/mysql-backup dump
  • 恢复:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -e DB_RESTORE_TARGET=/backup/db_backup_201509271627.gz -e DB_NAMES="database1 database3" -v /local/path:/backup databack/mysql-backup restore
  1. 重命名恢复单个数据库:
    • 备份:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -e SINGLE_DATABASE=true -e DB_NAMES=database1 -v /local/path:/backup databack/mysql-backup dump
  • 恢复:
bash
docker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -e DB_RESTORE_TARGET=/backup/db_backup_201509271627.gz -e SINGLE_DATABASE=true -e DB_NAMES=newdatabase1 -v /local/path:/backup databack/mysql-backup restore

恢复详细说明参见restore,所有配置选项参见configuration。

许可证

MIT许可证。版权所有Avi Deitcher [***]

相关 Docker 镜像推荐

以下是 databack/mysql-backup 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/mysql Docker 镜像说明
  • library/mariadb Docker 镜像说明(MySQL 分支,兼容性更好)
  • bitnami/mysql Docker 镜像说明(企业级配置,适合生产环境)
  • alpine/mysql Docker 镜像说明(基于 Alpine Linux,体积更小)
  • bitnamicharts/mysql Docker 镜像说明(Bitnami MySQL 图表版本)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

国内拉取方式

docker pull docker.xuanyuan.run/databack/mysql-backup:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

官方拉取方式

docker pull databack/mysql-backup:<标签>

相关镜像推荐

zeabur/mysql-backup logo
zeabur/mysql-backup
by zeabur
暂无描述
10K+ pulls
上次更新:3 个月前
查看更多 mysql-backup 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
databack/mysql-backup
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429