dedecms織夢(mèng)搬家公司網(wǎng)站模板網(wǎng)站如何做seo推廣
MySQL自動(dòng)化備份Docker方案
該方案僅需通過(guò) Docker Compose 就能輕松完成部署。你可以自由配置數(shù)據(jù)庫(kù)連接信息,無(wú)論是遠(yuǎn)程數(shù)據(jù)庫(kù),還是本地?cái)?shù)據(jù)庫(kù),都能實(shí)現(xiàn)無(wú)縫對(duì)接。在備份頻率設(shè)置上,支持按固定秒數(shù)間隔執(zhí)行備份任務(wù),比如設(shè)置 INTERVAL_SECONDS=3600,即可實(shí)現(xiàn)每小時(shí)自動(dòng)備份;若設(shè)為 INTERVAL_SECONDS=86400,則能達(dá)成每日備份。
備份文件管理方面,它同樣表現(xiàn)出色。你可以將備份文件存儲(chǔ)在宿主機(jī)指定目錄,像 /vol2/1000/mysqlbackup,保障數(shù)據(jù)持久化存儲(chǔ)。同時(shí),提供按天數(shù)或文件數(shù)量?jī)煞N保留策略,選擇按天數(shù)保留,設(shè)置 RETENTION_DAYS=7,就能自動(dòng)清理 7 天前的舊備份;若選擇按文件數(shù)保留,配置 RETENTION_COUNT=10,則只留存最新的 10 個(gè)備份文件,有效節(jié)省存儲(chǔ)空間。
此方案不僅適合個(gè)人開(kāi)發(fā)者保障數(shù)據(jù)安全,對(duì)于企業(yè)級(jí)數(shù)據(jù)庫(kù)備份場(chǎng)景也同樣適用。它操作便捷、配置靈活,能為你的數(shù)據(jù)安全保駕護(hù)航。 快來(lái)試試這個(gè) MySQL 自動(dòng)化備份 Docker 方案,開(kāi)啟輕松備份新體驗(yàn)!
方案特點(diǎn)
- 間隔時(shí)間備份:按固定秒數(shù)間隔執(zhí)行備份任務(wù)
- 靈活保留策略:可按天數(shù)或文件數(shù)量自動(dòng)清理舊備份
- 遠(yuǎn)程數(shù)據(jù)庫(kù)支持:直接連接遠(yuǎn)程MySQL數(shù)據(jù)庫(kù)進(jìn)行備份
- 持久化存儲(chǔ):備份文件存儲(chǔ)在宿主機(jī)指定目錄,確保數(shù)據(jù)安全
Docker Compose 配置
以下是簡(jiǎn)化后的Docker Compose配置:
version: '3'
services:mysql-backup:image: fjsay/mysql-backup:latestcontainer_name: mysql-backupenvironment:- DB_HOST=xxxxx # 數(shù)據(jù)庫(kù)主機(jī)地址- DB_PORT=3306 # 數(shù)據(jù)庫(kù)端口(默認(rèn)3306)- DB_USER=xxxxx # 數(shù)據(jù)庫(kù)用戶名- DB_PASSWORD=xxxxx # 數(shù)據(jù)庫(kù)密碼- DB_NAME=xxxxxx # 要備份的數(shù)據(jù)庫(kù)名稱(chēng)(留空備份所有庫(kù))- BACKUP_MODE=interval # 固定為間隔模式- INTERVAL_SECONDS=43200 # 備份間隔時(shí)間(秒)- BACKUP_DIR=/backups # 容器內(nèi)備份目錄(保持默認(rèn))- RETENTION_POLICY=days # 保留策略:days(按天)或 count(按文件數(shù))- RETENTION_DAYS=365 # 按天保留時(shí)的天數(shù)(默認(rèn)7天)- RETENTION_COUNT=10 # 按文件數(shù)保留時(shí)的數(shù)量(默認(rèn)10個(gè))volumes:- /vol2/1000/mysqlbackup:/backups # 宿主機(jī)備份目錄掛載restart: always # 容器異常退出時(shí)自動(dòng)重啟
配置參數(shù)說(shuō)明
數(shù)據(jù)庫(kù)連接參數(shù)
參數(shù)名 | 說(shuō)明 | 示例值 |
---|---|---|
DB_HOST | 數(shù)據(jù)庫(kù)主機(jī)地址(支持域名或 IP) | mysql.example.com |
DB_PORT | 數(shù)據(jù)庫(kù)端口 | 3306 |
DB_USER | 數(shù)據(jù)庫(kù)用戶名 | backup_user |
DB_PASSWORD | 數(shù)據(jù)庫(kù)密碼 | strong_password |
DB_NAME | 要備份的數(shù)據(jù)庫(kù)名稱(chēng)(留空則備份所有數(shù)據(jù)庫(kù)) | my_database |
備份間隔參數(shù)
通過(guò)INTERVAL_SECONDS
參數(shù)設(shè)置備份執(zhí)行間隔(秒):
INTERVAL_SECONDS=3600
:每小時(shí)執(zhí)行一次INTERVAL_SECONDS=900
:每15分鐘執(zhí)行一次INTERVAL_SECONDS=86400
:每天執(zhí)行一次(24小時(shí))
備份保留策略
1. 按天數(shù)保留(RETENTION_POLICY=days
)
自動(dòng)刪除超過(guò)指定天數(shù)的舊備份:
RETENTION_DAYS=7
:保留最近7天的備份RETENTION_DAYS=30
:保留最近30天的備份RETENTION_DAYS=365
:保留最近1年的備份
2. 按文件數(shù)保留(RETENTION_POLICY=count
)
只保留指定數(shù)量的最新備份文件:
RETENTION_COUNT=10
:保留最近10個(gè)備份RETENTION_COUNT=50
:保留最近50個(gè)備份RETENTION_COUNT=100
:保留最近100個(gè)備份
使用步驟
-
創(chuàng)建配置文件:將上述Docker Compose配置保存為
docker-compose.yml
-
修改參數(shù):根據(jù)實(shí)際需求修改數(shù)據(jù)庫(kù)連接信息和備份策略
-
啟動(dòng)服務(wù):
docker-compose up -d
-
驗(yàn)證備份:
# 查看容器日志 docker logs -f mysql-backup# 檢查備份文件 ls -la /vol2/1000/mysqlbackup