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

你可能感兴趣的:(mysql,xtrabackup,热备)