一、前提条件 首先,需要设定一个同步的环境出来,可以在两个独立的主机或者同一个主机上实现,详细请参考 MySQL做同步实例
接下来的备份工作就都是在 Slave上实现了
下面就拿一个实际的例子来讲解,MySQL Slave的版本为 5
假定 datadir 为 /usr/local/mysql/data,备份文件存放目录为 /backup/mysql/,两种备份都由 shell脚本来自动完成
二、全量备份 全量备份的原理是停止 slave之后,将数据刷新到磁盘中,然后直接拷贝数据文件
如果数据量相对较小,推荐使用 mysqldump来做,较大的话,直接拷贝文件就更便捷了
shell脚本文件名 backupmysql_fullly
/bin/sh 2
# created by yejr,2006/11/29 6
# 本脚本用于定期做全量备份,备份的对象是slave 上的全部数据 10
# 每次备份之前都先执行"STOP SLAVE; FLUSH TABLES;",然后将 12
# 所有文件拷贝到备份目录下 14
#取得当前日期,作为备份目录名 18
today=`date +"%Y_%m_%d"` 20
#源目录 22
datadir=/usr/local/mysql/data 24
#目标目录 26
bkdir=/backup/mysql 28
today_bkdir=$bkdir/$today 30
today_full_bkdir=$today_bkdir/full_backup 32
#修改上级目录属性 34
chattr -i $bkdir 36