利用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. 重启数据库

猜你喜欢

转载自joesay.iteye.com/blog/1662340
今日推荐