1. 全备(业务跑的时候热备)
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_`date +%Y_%m%d --date="-1 day"` --user=root -p123 --read-threads=3 --process-threads=8 --write-threads=3 --compress backup
恢复:apply-log不会影响数据目录下的数据;但是copy-back时,若数据目录下有数据,要加force替代现有的数据,否则报错
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_2020_0414 --uncompress apply-log
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_2020_0414 copy-back --force
2. 全备或上一个增备的基础上增备(热备)
mysqlbackup --defaults-file=/etc/my.cnf --incremental --incremental-backup-dir=/backup/mysqlbackup/incremental_`date +%Y_%m%d` --incremental-base=dir:/backup/mysqlbackup/backup_`date +%Y_%m%d --date="-1 day"` --user=root --password=123 backup
恢复:apply-log和apply-incremental-backup不会影响数据目录下的数据;但是copy-back时,若数据目录下有数据,要加force替代现有的数据,否则报错
mysqlbackup --backup-dir=/backup/mysqlbackup/backup_2020_0414 --incremental-backup-dir=/backup/mysqlbackup/incremental_2020_0415 --uncompress apply-log
mysqlbackup --backup-dir=/backup/mysqlbackup/backup_2020_0414 --incremental-backup-dir=/backup/mysqlbackup/incremental_2020_0415 apply-incremental-backup
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/backup/mysqlbackup/backup_2020_0414 copy-back --force
3. 备份脚本
全备脚本:
root@mgr3[/backup/scripts]#cat mysqlbackup_full.sh
DT=`date +"%Y%m%d"`
target_dir=/backup/mysqlbackup
if [ ! -d ${target_dir} ]; then
mkdir -p ${target_dir}
fi
if [ -d ${target_dir}/backup_${DT} ];
then
echo "backup_dir exists,and will be backed ">>${target_dir}/${DT}_err.log
mv ${target_dir}/backup_${DT} ${target_dir}/backup_${DT}_bk
fi
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=${target_dir}/backup_${DT} --user=root -p123 --read-threads=3 --process-threads=8 --write-threads=3 --compress backup >>${target_dir}/backup_${DT}.log 2>&1
find ${target_dir} -type d -mtime +21 -exec rm -rf {} \;
增备脚本:
root@mgr3[/backup/scripts]#cat mysqlbackup_inc.sh
DT=`date +"%Y%m%d"`
YD=`date +%Y%m%d --date="-1 day"`
target_dir=/backup/mysqlbackup
if [ ! -d ${target_dir} ]; then
mkdir -p ${target_dir}
fi
if [ -d ${target_dir}/backup_${DT} ];
then
echo "backup_dir exists,and will be backed ">>${target_dir}/backup_${DT}.err
mv ${target_dir}/backup_${DT} ${target_dir}/backup_${DT}_bk
fi
mysqlbackup --defaults-file=/etc/my.cnf --incremental --incremental-backup-dir=${target_dir}/backup_${DT} --incremental-base=dir:${target_dir}/backup_${YD} --user=root --password=123 backup >>${target_dir}/backup_${DT}.log 2>&