首页主机资讯Sqladmin在Ubuntu上的备份策略

Sqladmin在Ubuntu上的备份策略

时间2025-11-26 20:31:04发布访客分类主机资讯浏览1224
导读:Ubuntu 上 SQLAdmin 的备份策略 一 策略总览 明确目标:覆盖 SQLAdmin 管理的 MySQL/MariaDB 数据库 的数据与结构,确保可恢复性与异地冗余。 工具选择:SQLAdmin 是数据库 Web 管理工具,本...

Ubuntu 上 SQLAdmin 的备份策略

一 策略总览

  • 明确目标:覆盖 SQLAdmin 管理的 MySQL/MariaDB 数据库 的数据与结构,确保可恢复性与异地冗余。
  • 工具选择:SQLAdmin 是数据库 Web 管理工具,本身不提供备份功能;备份应通过 mysqldump/mysqlpump 或 SQLAdmin 的界面导出功能完成。
  • 备份类型:日常使用 逻辑备份(全量);大数据量可用 mysqlpump 并行导出 提升速度;如需时间点恢复,建议启用 MySQL 二进制日志(binlog)
  • 频率建议:生产库至少 每日全量;关键业务可 每小时增量(binlog);每周做 全量校验与抽样恢复演练
  • 保留与异地:本地保留 7–30 天,并 同步到远程主机/对象存储;定期清理过期备份。

二 推荐方案 自动化脚本 + Cron

  • 目录与权限
    • 创建备份目录并限制访问:sudo mkdir -p /backup/mysql;sudo chown mysql:mysql /backup/mysql
  • 备份脚本示例(全量 + 压缩 + 日志 + 保留)
    • 保存为:/usr/local/bin/backup_mysql.sh
    • 内容:
      #!/usr/bin/env bash
      set -Eeuo pipefail
      
      DB_HOST="localhost"
      DB_USER="backup_user"
      DB_PASS="StrongPass!23"
      DB_NAME="your_db"
      BACKUP_DIR="/backup/mysql"
      LOG_FILE="$BACKUP_DIR/backup.log"
      RETENTION_DAYS=7
      DATE=$(date +"%Y%m%d%H%M%S")
      BACKUP_FILE="$BACKUP_DIR/${
      DB_NAME}
      -${
      DATE}
          .sql.gz"
      
      # 创建目录
      mkdir -p "$BACKUP_DIR"
      
      # 执行备份(--single-transaction 适用于 InnoDB;--routines/--triggers 视需求开启)
      mysqldump -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" \
        --single-transaction --routines --triggers --default-character-set=utf8mb4 \
        "$DB_NAME" | gzip >
           "$BACKUP_FILE"
      
      # 结果记录
      if [ $? -eq 0 ];
           then
        echo "$(date '+%F %T') SUCCESS: $BACKUP_FILE" >
          >
           "$LOG_FILE"
        # 保留策略
        find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +$RETENTION_DAYS -delete
      else
        echo "$(date '+%F %T') FAILED: $BACKUP_FILE" >
          >
           "$LOG_FILE"
        exit 1
      fi
      
    • 赋权:sudo chmod +x /usr/local/bin/backup_mysql.sh
  • 定时任务(Cron)
    • 每天 02:00 全量备份:echo ‘0 2 * * * root /usr/local/bin/backup_mysql.sh’ | sudo tee /etc/cron.d/mysql-backup
    • 如需每小时增量配合 binlog,可另配脚本仅做 FLUSH BINARY LOGS 并同步最新 binlog 文件到远程。
  • 远程复制(可选)
    • rsync:rsync -avz --delete /backup/mysql/ user@remote:/backup/mysql/
    • 或 scp 到远程主机/对象存储网关。

三 使用 SQLAdmin 界面导出

  • 登录 SQLAdmin Web 界面,选择目标数据库。
  • 进入 备份/Export,选择导出格式(通常为 SQL),配置导出选项与目标路径/文件名。
  • 执行导出并下载备份文件;如需定期执行,建议结合系统的 计划任务 或界面提供的计划功能(若可用)。

四 恢复流程与验证

  • 逻辑备份恢复(全量)
    • gunzip < /backup/mysql/your_db-20251126.sql.gz | mysql -h localhost -u user -ppass your_db
  • 远程备份恢复
    • 先 rsync/scp 拉取到本地,再执行上面的 mysql 命令导入。
  • 验证与演练
    • 定期做 抽样恢复 到临时库,校验表数量、数据一致性(如校验和/行数对比)。
    • 若启用 binlog,可按时间点恢复:先恢复最近一次全量,再应用 mysqlbinlog 指定时间/位置区间。

五 安全与运维要点

  • 凭据安全:避免在命令行或脚本中明文写密码;建议使用 ~/.my.cnf 配置凭据(权限 600),或在备份专用账号上限制权限(仅 SELECT、SHOW VIEW、LOCK TABLES、RELOAD 等必要权限)。
  • 加密与合规:敏感数据建议 传输加密(TLS)静态加密;备份落盘后设置 600 权限,仅允许必要账户访问。
  • 监控与告警:脚本输出到 日志文件,配合 logrotate 管理;可用简单监控(如文件大小阈值、最近一次成功时间)触发告警。
  • 存储与保留:本地保留 7–30 天,远程/对象存储长期留存;定期清理过期备份,避免磁盘被占满导致备份失败。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Sqladmin在Ubuntu上的备份策略
本文地址: https://pptw.com/jishu/757061.html
Sqladmin在Ubuntu上的资源占用情况 Ubuntu下sqladmin的数据库连接问题

游客 回复需填写必要信息