在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实现自动化备份。