温馨提示×

centos虚拟机如何备份数据库

小樊
56
2025-09-11 16:51:50
栏目: 云计算

在CentOS虚拟机上备份数据库,可根据数据库类型选择工具,以下是常用方法及步骤:

一、备份MySQL数据库

1. 使用mysqldump工具(推荐)

  • 安装工具
    确保已安装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

2. 使用xtrabackup(热备份,适合大型数据库)

  • 适用于InnoDB引擎,支持在线备份,需安装xtrabackup工具,命令示例:
    xtrabackup --backup --user=root --password=密码 --target-dir=/路径/backup

二、备份MongoDB数据库

1. 使用mongodump工具

  • 安装工具
    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 {} \;
    ```。
    
    
    

三、通用注意事项

  1. 权限与安全

    • 确保备份用户有足够权限(如MySQL的SELECT权限、MongoDB的read权限)。
    • 敏感信息(如密码)可通过配置文件或环境变量管理,避免硬编码在脚本中。
  2. 存储与验证

    • 定期将备份文件传输到远程服务器或云存储(如scp/rsync)。
    • 测试备份文件的可恢复性,确保数据完整。
  3. 清理过期备份
    在脚本中添加逻辑,删除超过保留期限(如7天)的备份文件,避免占用磁盘空间。

根据实际需求选择工具,优先使用官方推荐的mysqldump(MySQL)和mongodump(MongoDB),并务必通过crontab实现自动化备份。

0