joesay 发表于 2013-1-29 16:22:19

利用xtrabackup完成mysql的热备份与还原

xtrabackup下载地址:http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.0.2/deb/lucid/i686/percona-xtrabackup_2.0.2-461.lucid_i386.deb
 
环境
 
$MYSQL_DATADIR = /var/lib/mysql
$MYSQL_BACKDIR = /mnt/mysql-backup
 
Part 1,热备份
 
1. 创建备份数据存放的目录,比如
 
 
$ mkdir /mnt/mysql-backup 2. 利用innobackupex脚本备份数据(参数请自行替换)
 
$ innobackupex --user=db_username --password=db_password --database=db_name --defaults-file=/etc/mysql/my.cnf /mnt/mysql-backup 3. 检查在备份目录中是否存在本次备份的数据(备份默认以日期作为文件夹名,比如2012-08-25_09-35-51)
 
 
 
 
Part 2, 还原
 
1. 备份(除了你用xtrabackup备份的库以及ibdata1外)系统库文件,并清空$MYSQL_DATADIR中的数据
 
 
2. 通过二进制日志合并备份过程中数据变化
 
 
$ innobackupex --user=db_username [--password=db_password] --database=db_name --defaults-file=/etc/mysql/my.cnf --apply-log /mnt/mysql-backup/2012-08-25_09-35-51/ 3. 还原数据
 
 
innobackupex --user=db_username [--password=db_password] --database=db_name --defaults-file=/etc/mysql/my.cnf --copy-back /mnt/mysql-backup/2012-08-25_09-35-51/ 4. 修改文件夹属性
 
 
$ sudo chown -R mysql:mysql $MYSQL_DATADIR 5. 重启数据库
页: [1]
查看完整版本: 利用xtrabackup完成mysql的热备份与还原