
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
将MySQL数据库备份到任何位置!
详情请参见https://github.com/databacker/mysql-backup
mysql-backup是一种简单的MySQL数据库备份、恢复及管理工具。
其主要特性包括:
贡献者列表请参见https://github.com/databacker/mysql-backup/tree/master/CONTRIBUTORS.md。
当前为最新版本,基于2023年底完成的Golang代码库完全重构,对应1.0.0版本发布。
支持可通过databack Slack频道获取;注册此处。我们接受此处的问题报告及Slack上的一般支持问题。
如需商业支持,请通过上述Slack联系我们。
mysql-backupmysql-backup提供独立二进制文件和容器镜像两种形式。
运行备份时,需以容器或二进制形式启动mysql-backup并指定正确参数。
例如:
bashdocker 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 docker.xuanyuan.run/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,配置文件内容如下:
yamlserver: my-db-address dump: frequency: 60 begin: 2330 target: /local/file/path
上述配置将从my-db-address容器访问的数据库中,每60分钟执行一次备份,首次备份从当天23:30开始。
指定用户密码的示例:
bashdocker 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 docker.xuanyuan.run/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
备份详细说明参见https://github.com/databacker/mysql-backup/tree/master/docs/backup.md,所有配置选项参见https://github.com/databacker/mysql-backup/tree/master/docs/configuration.md。
执行恢复操作时,流程相反,需使用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时,恢复过程将输出详细日志。AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY和AWS_DEFAULT_REGION。恢复示例:
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup restore
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup restore
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup restore
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup restore
多库备份文件可选择恢复部分数据库,或重命名恢复单个数据库(需备份和恢复时均设置SINGLE_DATABASE=true)。
示例:
bashdocker run -e DB_SERVER=gotodb.example.com -e DB_USER=user123 -e DB_PASS=pass123 -v /local/path:/backup docker.xuanyuan.run/databack/mysql-backup dump
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup restore
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup dump
bashdocker 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 docker.xuanyuan.run/databack/mysql-backup restore
恢复详细说明参见https://github.com/databacker/mysql-backup/tree/master/docs/restore.md,所有配置选项参见https://github.com/databacker/mysql-backup/tree/master/docs/configuration.md。
MIT许可证。版权所有Avi Deitcher https://github.com/deitch
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 databack/mysql-backup 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: