106 lines
3.5 KiB
Bash
106 lines
3.5 KiB
Bash
#!/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"
|