tgbyte/mydumper本镜像是一个基于mydumper工具的自动化MySQL备份解决方案,专注于每小时定时执行MySQL数据库备份任务。mydumper是一款高性能的MySQL备份工具,相比传统mysqldump具有多线程导出能力,可显著提升备份效率。该镜像旨在简化MySQL数据库的定时备份流程,通过容器化方式提供开箱即用的自动化备份能力,适用于需要定期、可靠备份MySQL数据的环境。
SELECT、SHOW VIEW、RELOAD、LOCK TABLES权限)bashdocker run -d \ --name mysql-hourly-backup \ -e MYSQL_HOST=mysql-server \ -e MYSQL_PORT=3306 \ -e MYSQL_USER=backupuser \ -e MYSQL_PASSWORD=strongpassword \ -e MYSQL_DATABASE=appdb,userdb \ # 多个数据库用逗号分隔,不指定则备份所有数据库 -e BACKUP_RETENTION_DAYS=7 \ # 备份保留7天 -e TZ=Asia/Shanghai \ # 设置时区,确保定时任务时间准确 -v /host/backup/path:/backup \ # 将容器内备份目录挂载到宿主机 mysql-hourly-backup:latest
yamlversion: '3' services: mysql-backup: image: mysql-hourly-backup:latest container_name: mysql-hourly-backup environment: - MYSQL_HOST=mysql-server - MYSQL_PORT=3306 - MYSQL_USER=backupuser - MYSQL_PASSWORD=strongpassword - MYSQL_DATABASE=appdb # 单个数据库 - BACKUP_RETENTION_DAYS=3 - TZ=Asia/Shanghai - BACKUP_PREFIX=mysql_backup_ # 备份文件前缀 volumes: - /data/mysql/backups:/backup restart: unless-stopped
| 环境变量 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
MYSQL_HOST | MySQL数据库主机地址 | localhost | mysql-server |
MYSQL_PORT | MySQL数据库端口 | 3306 | 3307 |
MYSQL_USER | 用于备份的MySQL用户名 | - | backupuser |
MYSQL_PASSWORD | 备份用户的密码 | - | strongpassword |
MYSQL_DATABASE | 需备份的数据库名,多个用逗号分隔;不指定则备份所有数据库 | (所有数据库) | appdb,userdb |
MYSQL_SOCKET | MySQL本地套接字路径(优先于TCP连接) | - | /var/run/mysqld.sock |
BACKUP_RETENTION_DAYS | 备份文件保留天数,超过此天数的备份将被自动删除 | 7 | 3 |
BACKUP_PATH | 容器内备份文件存储路径 | /backup | /data/backups |
BACKUP_PREFIX | 备份文件名称前缀 | mysql_backup_ | prod_db_backup_ |
MYDUMPER_OPTIONS | mydumper额外参数(如--compress启用压缩、--threads 4指定线程数) | --threads 2 | --compress --threads 4 |
TZ | 容器时区,用于确保定时任务时间准确性 | UTC | Asia/Shanghai |
备份文件默认存储在容器内BACKUP_PATH目录下,命名格式为:
${BACKUP_PREFIX}${YYYYMMDD}_${HHMMSS}.sql.gz(若启用压缩)或.sql(未压缩)
示例:mysql_backup_20240520_***.sql.gz(2024年5月20日14:00的备份)
MYSQL_USER具备足够权限,否则可能导致备份失败docker exec -it <容器名> /backup.sh执行)





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