mysql备份:
backup_dir='/data/backup/mysql'
database_name='dbname'
bak_save_days=7
dd=`date +%Y-%m-%d-%H-%M-%S`
if [ ! -d $backup_dir ];then
mkdir -p $backup_dir
fi
mysqldump --defaults-extra-file=/etc/mypass.txt --flush-logs --single-transaction --set-gtid-purged=OFF $database_name | gzip > $backup_dir/$database_name-$dd.sql.gz
mysqldump --defaults-extra-file=/etc/my_pass.txt --flush-logs --single-transaction $database_name | gzip > $backup_dir/$database_name-$dd.gtid.sql.gz
#删除7天前的备份
find ${backup_dir} -maxdepth 1 -type f -name "*.sql.gz" -mtime +${bak_save_days} -exec rm -rf {} \;
mysqldump 不使用`--set-gtid-purged=OFF`,默认为--set-gtid-purged=ON,那么就会导出整个数据库的GTID号码,应用场景:将主库的数据备份出来还原到从库
使用`--set-gtid-purged=OFF`,不产生gtid,将备份的数据库全新还原到其他DB,自动重新生成新的gtid
标签:-%,name,--,备份,dir,mysqldump,backup,gtid From: https://blog.51cto.com/u_11508007/9454152