溫馨提示×

centos下mongodb數據恢復方法

小樊
41
2025-07-02 12:49:36
欄目: 云計算

在CentOS系統下,MongoDB數據恢復可以通過以下幾種方法實現:

使用mongorestore命令恢復備份數據

  • 恢復整個數據庫
    mongorestore -u [用戶名] -p [密碼] --authenticationDatabase [認證數據庫] [備份目錄]
    
    例如:
    mongorestore -u game -p VvsPBDQw --authenticationDatabase kinggame /home/backup/kinggame
    
  • 恢復指定數據庫
    mongorestore -u [用戶名] -p [密碼] --authenticationDatabase [認證數據庫] [備份目錄]/[數據庫名]
    
    例如:
    mongorestore -u game -p VvsPBDQw --authenticationDatabase kinggame /home/backup/kinggame/kinggame
    
  • 恢復指定集合
    mongorestore -u [用戶名] -p [密碼] --authenticationDatabase [認證數據庫] [備份目錄]/[數據庫名]/[集合名]
    
    例如:
    mongorestore -u game -p VvsPBDQw --authenticationDatabase kinggame /home/backup/kinggame/kinggame/setting
    

使用物理備份文件恢復

  1. 安裝必要的工具
    yum install percona-xtrabackup-24
    
  2. 傳輸備份文件:使用scp或其他工具將備份文件傳輸到CentOS服務器。
  3. 解壓備份文件
    innobackupex --decompress --remove-original /path/to/backup
    
  4. 恢復數據
    mongorestore --host localhost --port 27017 --db [數據庫名] /path/to/backup/[數據庫名]
    

使用mongodump和mongorestore進行定時備份和恢復

  1. 備份腳本: 創建備份腳本 /home/crontab/mongod_bak.sh,內容如下:
    #!/bin/sh
    Dump=/usr/bin/mongodump
    OUT_DIR=/home/backup/mongod_bak
    TAR_DIR=/home/backup/mongod_bak/mongod_bak_now
    DATE=$(date %Y-%m-%d_%H_%M_%S)
    DB_USER=db_user
    DB_PASS=db_password
    DB_NAME=dbname
    Dump -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS -d $DB_NAME -o $OUT_DIR/$DATE
    tar -zcvf $TAR_DIR/$DATE.tar.gz $OUT_DIR/$DATE
    find $TAR_DIR/$DATE -mtime +14 -type f -delete
    
  2. 設置定時任務: 編輯crontab文件:
    crontab -e
    
    添加以下內容:
    0 1 * * * /home/crontab/mongod_bak.sh
    
  3. 恢復腳本: 創建恢復腳本 /home/crontab/mongorestore.sh,內容如下:
    #!/bin/sh
    mongorestore -u [用戶名] -p [密碼] --authenticationDatabase [認證數據庫] [備份目錄]
    
  4. 設置定時任務: 編輯crontab文件:
    crontab -e
    
    添加以下內容:
    0 1 * * * /home/crontab/mongorestore.sh
    

注意事項

  • 在進行數據恢復之前,確保備份文件的完整性和可用性,并停止MongoDB服務以避免數據不一致。
  • 如果備份文件是通過 mongodump 創建的,建議使用 mongorestore 工具進行恢復。

通過以上方法,你應該能夠在CentOS系統下成功恢復MongoDB的數據。如果在恢復過程中遇到問題,建議參考MongoDB官方文檔或尋求社區幫助。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女