在CentOS虛擬機上備份數據庫,可根據數據庫類型選擇工具,以下是常用方法及步驟:
安裝工具:
確保已安裝MySQL(含mysqldump
),若未安裝可執行:
sudo yum install mysql-server
。
手動備份:
執行命令生成SQL備份文件(替換用戶名
、密碼
、數據庫名
及路徑):
mysqldump -u 用戶名 -p密碼 數據庫名 > /路徑/備份文件.sql
示例:備份所有數據庫:
mysqldump -u root -p --all-databases > /home/backup/all_dbs.sql
。
壓縮備份:
結合gzip
節省空間:
mysqldump -u 用戶名 -p密碼 數據庫名 | gzip > /路徑/備份文件.sql.gz
。
自動化備份:
編寫腳本(如/home/backup/mysql_backup.sh
)并添加定時任務:
#!/bin/bash
BACKUP_DIR="/home/backup/mysql"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
mysqldump -u root -p密碼 數據庫名 > $BACKUP_DIR/db_$TIMESTAMP.sql
gzip $BACKUP_DIR/db_$TIMESTAMP.sql
find $BACKUP_DIR -type f -name "*.sql" -mtime +7 -exec rm {} \; # 刪除7天前備份
添加到crontab
(每天凌晨2點執行):
0 2 * * * /bin/bash /home/backup/mysql_backup.sh
。
xtrabackup
工具,命令示例:xtrabackup --backup --user=root --password=密碼 --target-dir=/路徑/backup
。安裝工具:
sudo yum install -y mongodb-org-tools
。
手動備份:
執行命令生成BSON格式備份(替換路徑和認證信息):
mongodump --out /路徑/備份目錄 --host=主機地址 --port=端口 --username=用戶名 --password=密碼
示例:備份到指定目錄:
mongodump --out /home/backup/mongodb/$(date +%Y%m%d%H%M%S)
。
自動化備份:
編寫腳本并添加crontab
定時任務(如每天凌晨2點執行):
#!/bin/bash
BACKUP_DIR="/home/backup/mongodb/$(date +%Y%m%d%H%M%S)"
mongodump --out $BACKUP_DIR --username=用戶名 --password=密碼
tar -zcvf $BACKUP_DIR.tar.gz $BACKUP_DIR
find /home/backup/mongodb -type f -name "*.tar.gz" -mtime +7 -exec rm {} \;
```。
權限與安全:
SELECT
權限、MongoDB的read
權限)。存儲與驗證:
scp
/rsync
)。清理過期備份:
在腳本中添加邏輯,刪除超過保留期限(如7天)的備份文件,避免占用磁盤空間。
根據實際需求選擇工具,優先使用官方推薦的mysqldump
(MySQL)和mongodump
(MongoDB),并務必通過crontab
實現自動化備份。