Xtrabackup 热备份与还原

2014-11-24 18:54:04 · 作者: · 浏览: 0

备份前特别提醒:


1. 在备份的MySQL数据库my.cnf文件中,必须加入datadir={PATH},否则找不到备份数据的路径.


2. 在备份过程中,把INNODB数据文件备份完成后,会锁住整个库,并开始复制MYISAM等非事务引擎的数据和.frm;这个对于我们的系统来说,只需1-2秒就能完成


A. 全库备份详解


命令:


innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql3/my.cnf /home/mysql-server/backup


参数说明:


innobackupex-1.5.1:为封装Xtrabackupperl脚本. 因为Xtranbackup本身不能备份MyISAM.使用这个自带的脚本.就可以一起备份了.


User : 连接数据库的用户名


Password: 连接数据库的密码


Database: 需要备份的数据库


Defaults-file:备份数据库的配置文件路径


/home/mysql-server/backup: 这个是自己定义一个备份文件存放的路径


: --slave-info: 在备机上加入此参数可以记录master 的pos点





B1.增量备份详解


命令:(第一次增量备份)


innobackupex-1.5.1 --user=root--password=root --database=total2 --defaults-file=/home/mysql-server/mysql3/my.cnf–incremental --incremental-basedir=/home/mysql-server/backup/2012-02-21_20-14-05 /home/mysql-server/backup/


参数说明:


–incremental : 代表这个备份为增量备份.


/home/mysql-server/backup/ :这个是自己定义一个备份文件存放的路径(例如:最后备份的生成文件名为2012-02-21_20_50_04


B2.增量备份详解


命令:(第二次增量备份)


innobackupex-1.5.1--user=root --password=root --database=total2 --defaults-file=/home/mysql-server/mysql3/my.cnf--incremental --incremental-basedir=/home/mysql-server/backup/2012-02-21_20_50_04 /home/mysql-server/backup/



参数说明:


--incremental-basedir:可以看着,这次增量备份的文件名是,第一次增量备份的文件名(会得到第一次增量备份的LSN继续备份)





C.数据库整库还原


还原时,特特别别,特别特别注意


#=====================================================


要删除要还原数据库datadir指定路径下的所有数据.必须是一个空的文件.


就算你的系统库在里面,就把系统相关的库先mv 出来.例如:mysql,performance_schema,test 然后在还原


#========================================================


命令1:


innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql2/my.cnf --apply-log /home/mysql-server/backup/2012-02-21_20-14-05


参数说明:


Apply-log: 因为在备份的时候是在线的,如果有新插入的SQL语句,会记录新增加的LSN,然后放会放到备份文件的xtrabackup_logfile ,还原的时候使用--apply-log 来释放热备份修改的页面,放到表空间中.


/home/mysql-server/backup/2012-02-21_20-14-05:这个肯定就是指备份文件的路径了.


命令2:


innobackupex-1.5.1--user=root --password=root --database=total2--defaults-file=/home/mysql-server/mysql2/my.cnf --copy-back/home/mysql-server/backup/2012-02-21_20-14-05


参数说明:


copy-back :这个参数就代表还原了.


#=======================================================================


1. 把先备份的系统库MV到原来的地方


2. 修改data目录的权限(如果你设置的是已MySQL用户访问的话)


chown-R mysql.mysql data


# =========================================================================