diff --git a/config.sh b/config.sh new file mode 100644 index 0000000..adf003d --- /dev/null +++ b/config.sh @@ -0,0 +1,105 @@ +#!/bin/bash +# ============================================================================ +# MySQL 8.0.24 备份恢复工具 - 配置文件 +# ============================================================================ +# 作者: AI Assistant +# 版本: 1.0.0 +# 说明: 此文件包含所有备份恢复脚本的公共配置 +# ============================================================================ + +# ---------------------------------------------------------------------------- +# MySQL 连接配置 +# ---------------------------------------------------------------------------- +# MySQL 服务器地址 +MYSQL_HOST="localhost" + +# MySQL 端口 +MYSQL_PORT="3306" + +# MySQL 用户名 (需要有备份权限: RELOAD, LOCK TABLES, REPLICATION CLIENT) +MYSQL_USER="root" + +# MySQL 密码 (生产环境建议使用 mysql_config_editor 或环境变量) +MYSQL_PASSWORD="" + +# MySQL 数据目录 (用于物理备份) +MYSQL_DATA_DIR="/var/lib/mysql" + +# ---------------------------------------------------------------------------- +# 备份存储配置 +# ---------------------------------------------------------------------------- +# 备份根目录 +BACKUP_ROOT_DIR="/data/mysql_backup" + +# 全量备份目录 +FULL_BACKUP_DIR="${BACKUP_ROOT_DIR}/full" + +# 增量备份目录 +INCREMENTAL_BACKUP_DIR="${BACKUP_ROOT_DIR}/incremental" + +# 恢复临时目录 +RESTORE_TMP_DIR="${BACKUP_ROOT_DIR}/restore_tmp" + +# 日志目录 +LOG_DIR="${BACKUP_ROOT_DIR}/logs" + +# ---------------------------------------------------------------------------- +# 备份保留策略 +# ---------------------------------------------------------------------------- +# 全量备份保留天数 +FULL_BACKUP_RETENTION_DAYS=7 + +# 增量备份保留天数 +INCREMENTAL_BACKUP_RETENTION_DAYS=3 + +# ---------------------------------------------------------------------------- +# mysqlbackup/xtrabackup 工具配置 (使用 MySQL Enterprise Backup 或 Percona XtraBackup) +# 本脚本使用 mysqldump 进行逻辑备份,同时支持基于 binlog 的增量备份 +# ---------------------------------------------------------------------------- +# mysqldump 路径 +MYSQLDUMP_PATH="/usr/bin/mysqldump" + +# mysql 客户端路径 +MYSQL_PATH="/usr/bin/mysql" + +# mysqlbinlog 路径 +MYSQLBINLOG_PATH="/usr/bin/mysqlbinlog" + +# ---------------------------------------------------------------------------- +# 通知配置 (可选) +# ---------------------------------------------------------------------------- +# 是否启用邮件通知 +ENABLE_EMAIL_NOTIFICATION=false + +# 通知邮箱地址 +NOTIFICATION_EMAIL="admin@example.com" + +# ---------------------------------------------------------------------------- +# 并行处理配置 +# ---------------------------------------------------------------------------- +# 压缩线程数 +COMPRESS_THREADS=4 + +# 备份时使用的压缩工具 (gzip, pigz, lz4) +COMPRESS_TOOL="gzip" + +# ---------------------------------------------------------------------------- +# 其他配置 +# ---------------------------------------------------------------------------- +# 备份文件前缀 +BACKUP_PREFIX="mysql_backup" + +# 时间戳格式 +TIMESTAMP_FORMAT="%Y%m%d_%H%M%S" + +# 是否启用详细日志 +VERBOSE=true + +# ---------------------------------------------------------------------------- +# 要备份的数据库列表 (留空表示备份所有数据库) +# 格式: "db1 db2 db3" 或留空 "" +# ---------------------------------------------------------------------------- +DATABASES_TO_BACKUP="" + +# 要排除的数据库 (系统数据库默认排除) +EXCLUDE_DATABASES="information_schema performance_schema sys"