最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署MySQL?多庫自動(dòng)備份的方法(結(jié)構(gòu)+數(shù)據(jù)完整,適配CentOS)

 更新時(shí)間:2026年04月07日 10:05:18   作者:m0_49126700  
本文介紹了在CentOS服務(wù)器上使用Docker部署MySQL實(shí)現(xiàn)多庫備份的方法,包括創(chuàng)建備份腳本、添加執(zhí)行權(quán)限、測(cè)試腳本、配置定時(shí)任務(wù)、測(cè)試驗(yàn)證、正式環(huán)境配置和備份恢復(fù)等步驟,并提供了避坑指南,感興趣的朋友跟隨小編一起看看吧

前言:本文針對(duì)Docker部署的MySQL,實(shí)現(xiàn)「指定多個(gè)數(shù)據(jù)庫」的完整備份(含建庫、建表結(jié)構(gòu)+全量數(shù)據(jù)),適配CentOS服務(wù)器,結(jié)合定時(shí)任務(wù)實(shí)現(xiàn)自動(dòng)備份,附帶測(cè)試方法和避坑指南,全程實(shí)操可直接落地(已適配真實(shí)服務(wù)器環(huán)境)。

一、環(huán)境前提(已適配你的服務(wù)器)

先確認(rèn)服務(wù)器Docker容器信息,避免因容器名錯(cuò)誤導(dǎo)致備份失?。愕姆?wù)器實(shí)測(cè)信息):

# 查看Docker容器信息(執(zhí)行命令)
docker ps

你的服務(wù)器核心容器信息(重點(diǎn)關(guān)注MySQL):

  • MySQL容器名:mysql(非mysql8,避坑重點(diǎn)?。?/li>
  • MySQL版本:8.0.28
  • 備份目錄:/home/mysql-safe(已提前創(chuàng)建,無需額外新建)
  • 系統(tǒng)環(huán)境:CentOS(騰訊云服務(wù)器,含系統(tǒng)自帶星網(wǎng)關(guān)進(jìn)程,不影響備份)

二、核心需求

  1. 備份內(nèi)容:指定多個(gè)MySQL數(shù)據(jù)庫,包含「建庫語句+建表結(jié)構(gòu)+全量業(yè)務(wù)數(shù)據(jù)」,可直接恢復(fù)。
  2. 自動(dòng)備份:先測(cè)試每分鐘備份(便于驗(yàn)證),測(cè)試完成后改為每天凌晨2點(diǎn)自動(dòng)備份。
  3. 自動(dòng)優(yōu)化:備份文件壓縮存儲(chǔ),自動(dòng)清理7天前舊備份,避免占用過多磁盤空間。
  4. 穩(wěn)定可靠:不影響MySQL正常運(yùn)行,適配Docker容器環(huán)境,避免出現(xiàn)「No such container」錯(cuò)誤。

三、完整操作步驟(全程實(shí)操)

步驟1:創(chuàng)建/修改多庫備份腳本

腳本路徑固定為 /home/mysql-safe/mysql_backup.sh,已適配你的備份目錄和容器名,只需修改2個(gè)關(guān)鍵參數(shù)即可使用。

# 編輯腳本(執(zhí)行命令)
vi /home/mysql-safe/mysql_backup.sh

腳本內(nèi)容(復(fù)制粘貼,修改密碼和數(shù)據(jù)庫名即可):

#!/bin/bash
# ===================== 需修改的2個(gè)關(guān)鍵參數(shù) =====================
CONTAINER_NAME="mysql"          # 你的MySQL容器名(固定,無需改)
MYSQL_ROOT_PASSWORD="你的MySQL真實(shí)密碼"     # 替換為你的root密碼
BACKUP_DIR="/home/mysql-safe"   # 備份目錄(固定,無需改)
DATABASES="db1 db2 db3"         # 多個(gè)要備份的數(shù)據(jù)庫,用空格隔開
# ==============================================================
# 自動(dòng)創(chuàng)建備份目錄(防止目錄不存在)
mkdir -p $BACKUP_DIR
# 備份文件命名(含時(shí)間戳,避免重復(fù))
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/mysql_full_$DATE.sql"
# 執(zhí)行多庫完整備份(結(jié)構(gòu)+數(shù)據(jù),無鎖備份不影響業(yè)務(wù))
docker exec $CONTAINER_NAME mysqldump -u root -p$MYSQL_ROOT_PASSWORD \
--single-transaction \
--set-charset \
--databases $DATABASES > $BACKUP_FILE
# 壓縮備份文件(節(jié)省磁盤空間)
gzip $BACKUP_FILE
# 自動(dòng)清理7天前的舊備份(避免磁盤占滿)
find $BACKUP_DIR -name "mysql_full_*.sql.gz" -mtime +7 -delete
# 輸出備份成功日志
echo "? 多庫完整備份完成($(date +%Y-%m-%d %H:%M:%S)):$BACKUP_FILE.gz"
}

步驟2:給腳本添加執(zhí)行權(quán)限

執(zhí)行命令,確保腳本可正常運(yùn)行:

chmod +x /home/mysql-safe/mysql_backup.sh

步驟3:手動(dòng)測(cè)試腳本(關(guān)鍵一步)

先手動(dòng)執(zhí)行腳本,驗(yàn)證備份是否成功,避免定時(shí)任務(wù)配置后無效果:

# 手動(dòng)執(zhí)行備份腳本
/home/mysql-safe/mysql_backup.sh

驗(yàn)證成功標(biāo)準(zhǔn):

  1. 無報(bào)錯(cuò)信息,輸出「? 多庫完整備份完成」。
  2. 執(zhí)行以下命令,能看到生成的 .sql.gz 壓縮備份文件:
ls -lh /home/mysql-safe/

步驟4:配置定時(shí)任務(wù)(先測(cè)試,后正式)

使用crontab配置定時(shí)任務(wù),先設(shè)置「每分鐘備份」便于測(cè)試,測(cè)試無誤后改為「每天凌晨2點(diǎn)備份」。

4.1 編輯定時(shí)任務(wù)

crontab -e

4.2 添加定時(shí)任務(wù)(當(dāng)前測(cè)試版:每分鐘備份)

你的服務(wù)器crontab已存在騰訊云星網(wǎng)關(guān)進(jìn)程(無需刪除,不影響),新增以下一行即可:

# 騰訊云系統(tǒng)自帶進(jìn)程(無需修改,保留)
*/5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &'
# MySQL多庫自動(dòng)備份(測(cè)試版:每分鐘執(zhí)行一次)
*/1 * * * * /home/mysql-safe/mysql_backup.sh >> /home/mysql-safe/backup.log 2>&1

說明:日志會(huì)輸出到 /home/mysql-safe/backup.log,便于查看備份是否正常。

4.3 驗(yàn)證定時(shí)任務(wù)是否生效

# 查看當(dāng)前定時(shí)任務(wù)列表
crontab -l

能看到新增的MySQL備份任務(wù),即為生效。

四、測(cè)試驗(yàn)證方法

配置好每分鐘備份后,等待1-2分鐘,通過以下命令驗(yàn)證效果:

  1. 查看備份文件(每分鐘新增1個(gè)壓縮文件):
ls -lh /home/mysql-safe/
  1. 查看實(shí)時(shí)備份日志(確認(rèn)無報(bào)錯(cuò)):
tail -f /home/mysql-safe/backup.log

若日志持續(xù)輸出「?jìng)浞萃瓿伞?,且有新增備份文件,說明測(cè)試成功。

五、正式環(huán)境配置(測(cè)試完成后必做)

每分鐘備份僅用于測(cè)試,測(cè)試無誤后,務(wù)必修改為「每天凌晨2點(diǎn)備份」,避免頻繁備份占用資源:

# 重新編輯定時(shí)任務(wù)
crontab -e
# 將測(cè)試版定時(shí)任務(wù)替換為正式版(每天凌晨2點(diǎn)執(zhí)行)
0 2 * * * /home/mysql-safe/mysql_backup.sh >> /home/mysql-safe/backup.log 2>&1

六、備份恢復(fù)方法(備用)

若需恢復(fù)備份,執(zhí)行以下步驟(完整恢復(fù)指定多庫的結(jié)構(gòu)和數(shù)據(jù)):

# 1. 解壓備份文件(替換為你的備份文件名)
gzip -d /home/mysql-safe/mysql_full_20260403_xxxxxx.sql.gz
# 2. 執(zhí)行恢復(fù)命令(容器名固定為mysql,替換密碼和備份文件名)
docker exec -i mysql mysql -uroot -p你的密碼 < /home/mysql-safe/mysql_full_20260403_xxxxxx.sql

恢復(fù)完成后,登錄MySQL即可驗(yàn)證數(shù)據(jù)和結(jié)構(gòu)是否完整。

七、避坑指南(重點(diǎn)?。?/h2>
  • 坑1:容器名錯(cuò)誤,報(bào)「No such container」。解決方案:確認(rèn)容器名為mysql(而非mysql8),腳本中CONTAINER_NAME固定為mysql。
  • 坑2:腳本無執(zhí)行權(quán)限,報(bào)「Permission denied」。解決方案:執(zhí)行chmod +x /home/mysql-safe/mysql_backup.sh授權(quán)。
  • 坑3:備份目錄不存在,備份失敗。解決方案:腳本已添加mkdir -p $BACKUP_DIR,無需手動(dòng)創(chuàng)建。
  • 坑4:定時(shí)任務(wù)不生效。解決方案:確認(rèn)crontab配置正確,可通過crontab -l查看,重啟crond服務(wù)(systemctl restart crond)。

八、總結(jié)

本文實(shí)現(xiàn)了Docker部署MySQL的多庫自動(dòng)備份,適配你的CentOS騰訊云服務(wù)器,核心亮點(diǎn):

  1. 適配性強(qiáng):已根據(jù)你的服務(wù)器容器信息(mysql容器名、備份目錄)配置,修改密碼和數(shù)據(jù)庫名即可使用。
  2. 功能完整:支持多庫備份、結(jié)構(gòu)+數(shù)據(jù)完整、壓縮存儲(chǔ)、自動(dòng)清理舊備份。
  3. 易操作:全程命令復(fù)制即用,測(cè)試+正式配置清晰,新手也能快速落地。
  4. 穩(wěn)定可靠:無鎖備份不影響業(yè)務(wù),定時(shí)任務(wù)結(jié)合日志,便于排查問題。

測(cè)試完成后記得切換到正式定時(shí)任務(wù),避免頻繁備份占用服務(wù)器資源~

到此這篇關(guān)于Docker部署MySQL 多庫自動(dòng)備份(結(jié)構(gòu)+數(shù)據(jù)完整,適配CentOS)的文章就介紹到這了,更多相關(guān)docker mysql多庫自動(dòng)備份內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談docker運(yùn)行nginx為什么要使用daemon off

    淺談docker運(yùn)行nginx為什么要使用daemon off

    這篇文章主要介紹了淺談docker運(yùn)行nginx為什么要使用daemon off,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • docker中run命令30個(gè)常用參數(shù)詳解和示例

    docker中run命令30個(gè)常用參數(shù)詳解和示例

    這篇文章主要給大家介紹了關(guān)于docker中run命令30個(gè)常用參數(shù)的相關(guān)資料,docker?run命令是Docker中最常用的命令之一,用于創(chuàng)建并啟動(dòng)一個(gè)新的容器實(shí)例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • docker-compose容器互相連接的實(shí)現(xiàn)

    docker-compose容器互相連接的實(shí)現(xiàn)

    本文主要介紹了docker-compose容器互相連接的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解如何將java項(xiàng)目打包成docker鏡像并且可運(yùn)行

    詳解如何將java項(xiàng)目打包成docker鏡像并且可運(yùn)行

    java?項(xiàng)目打包成?Docker?可運(yùn)行的鏡像,其目的是便于運(yùn)用docker容器來管理項(xiàng)目,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-11-11
  • 基于iptables的Docker端口白名單控制實(shí)現(xiàn)

    基于iptables的Docker端口白名單控制實(shí)現(xiàn)

    本文主要介紹了通過iptables為Docker?Compose部署的容器設(shè)置宿主機(jī)端口IP白名單,強(qiáng)調(diào)規(guī)則順序與持久化配置,提供單端口和multiport兩種實(shí)現(xiàn)方式,感興趣的可以了解一下
    2025-07-07
  • Docker-harbor私有倉庫部署與管理方式

    Docker-harbor私有倉庫部署與管理方式

    這篇文章主要介紹了Docker-harbor私有倉庫部署與管理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 在Docker中部署Confluence和jira-software的方法步驟

    在Docker中部署Confluence和jira-software的方法步驟

    這篇文章主要介紹了在Docker中部署Confluence和jira-software的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • 分享8個(gè)基本的Docker容器管理命令

    分享8個(gè)基本的Docker容器管理命令

    本文給大家分享8個(gè)基本的Docker容器管理命令,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-06-06
  • MongoDB Docker 鏡像制作與部署完整流程

    MongoDB Docker 鏡像制作與部署完整流程

    該文章介紹了如何使用Docker部署MongoDB,包括創(chuàng)建Dockerfile、配置文件、數(shù)據(jù)庫初始化腳本,構(gòu)建鏡像、創(chuàng)建和運(yùn)行容器、鏡像導(dǎo)出與導(dǎo)入、擴(kuò)展功能、安全建議和故障排除,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • 使用rpm安裝指定版本docker(1.12.6)的詳細(xì)步驟

    使用rpm安裝指定版本docker(1.12.6)的詳細(xì)步驟

    為了防止安裝高版本的docker引發(fā)的錯(cuò)誤,需要安裝1.12.6版本的docker,下面小編給大家?guī)砹耸褂胷pm安裝指定版本的docker(1.12.6)的步驟,感興趣的朋友一起看看吧
    2021-08-08

最新評(píng)論

柞水县| 策勒县| 夏津县| 兴文县| 五家渠市| 南皮县| 元阳县| 万源市| 德昌县| 廉江市| 临清市| 南宫市| 贵州省| 潍坊市| 黎城县| 渝北区| 华安县| 攀枝花市| 莒南县| 罗城| 嵊泗县| 天祝| 建德市| 贵港市| 太和县| 澄迈县| 大姚县| 蚌埠市| 惠安县| 揭西县| 嘉禾县| 个旧市| 鹰潭市| 霞浦县| 玉龙| 右玉县| 红河县| 建昌县| 大名县| 无棣县| 信宜市|