
rom3dius/mysql-restic-backup该Docker镜像用于对MySQL数据库进行备份,集成mysqldump数据导出工具、restic备份管理工具及S3对象存储服务,实现数据库的自动化备份、加密存储与远程管理。
适用于需要定期备份MySQL数据库并存储至S3的场景,包括但不限于:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| MYSQL_HOST | MySQL数据库主机地址 | db_host |
| MYSQL_USER | MySQL数据库访问用户名 | root |
| MYSQL_PASSWORD | MySQL数据库访问密码 | password |
| MYSQL_DB | 需备份的目标数据库名称 | database_name |
| RESTIC_REPOSITORY | restic备份仓库地址(S3路径) | s3:s3.amazonaws.com/bucket_name |
| RESTIC_PASSWORD | restic仓库加密密码 | restic_password |
| AWS_ACCESS_KEY_ID | S3访问密钥ID | your_access_key |
| AWS_SECRET_ACCESS_KEY | S3访问密钥 | your_secret_key |
| RESTIC_FORGET | 旧备份保留阈值(如3d=3天) | 3d |
bashdocker run -d \ -e MYSQL_HOST=mysql.example.com \ -e MYSQL_USER=backup_user \ -e MYSQL_PASSWORD=secure_password \ -e MYSQL_DB=production_db \ -e RESTIC_REPOSITORY=s3:s3.amazonaws.com/company-backups/mysql \ -e RESTIC_PASSWORD=restic_secure_key \ -e AWS_ACCESS_KEY_ID=AKIAEXAMPLEKEY \ -e AWS_SECRET_ACCESS_KEY=example/secret/key+with/special/chars \ -e RESTIC_FORGET=7d \ --name mysql-backup-service \ [镜像名称]
创建docker-compose.yml文件:
yamlversion: '3.8' services: mysql-backup: image: [镜像名称] environment: - MYSQL_HOST=mysql - MYSQL_USER=root - MYSQL_PASSWORD=root_password - MYSQL_DB=app_db - RESTIC_REPOSITORY=s3:s3.amazonaws.com/backups/mysql-prod - RESTIC_PASSWORD=restic_backup_key - AWS_ACCESS_KEY_ID=AKIAEXAMPLE - AWS_SECRET_ACCESS_KEY=secretkeyexample - RESTIC_FORGET=30d # 保留30天内的备份 restart: always depends_on: - mysql # 若与MySQL在同一compose环境,可添加依赖关系
启动服务:
bashdocker-compose up -d


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务