MySQL数据库备份

  1. 数据备份
    mysqldump -u username -p dbname > backup.sql
    例:mysqldump -u root -p mydb > /opt/mysql/sql/data-bak.sql
    
  2. 数据恢复
    mysqldump -u username -p dbname < backup.sql
    例:mysqldump -u root -p mydb < /opt/mysql/sql/data-bak.sql
  3. 备份策略
    每天凌晨全量备份,备份路径/opt/mysql/sql,备份文件以时间命名 如:20240109.sql,备份文件最多保留15份。
  4. 执行脚本
    sudo tee /opt/mysql/sql/data-bak.sh <<-'EOF'
    
    #!/bin/bash
    
    # 设置数据库相关信息
    DB_USER="root"
    DB_PASSWORD="your_password"
    DB_NAME="mydb"
    
    # 设置备份文件路径
    BACKUP_DIR="/opt/mysql/sql"
    
    # 获取当前日期
    CURRENT_DATE=$(date +"%Y%m%d")
    
    # 创建备份文件名
    BACKUP_FILE="$BACKUP_DIR/$CURRENT_DATE.sql"
    
    # 进行全量备份
    mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE
    
    # 清理旧备份文件
    DAYS_TO_KEEP=15
    find $BACKUP_DIR -type f -name "*.sql" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
    
    echo "备份完成:$BACKUP_FILE"
    
    EOF
    
    # 执行权限
    sudo chmod +x /opt/mysql/sql/data-bak.sh
  5. 执行计划
    crontab -e # 使用 crontab -e 创建新的定时任务时,系统会打开一个编辑器供你添加任务,将下面任务添加后保存。
    0 0 * * * /opt/mysql/sql/data-bak.sh

你可能感兴趣的:(数据库,mysql,备份,恢复)