Xtrabackup 热备份与还原


备份前特别提醒:

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 : 代表这个备份为增量备份.

--incremental-basedir: 指定前次完全备份或者增量备份文件的位置。www.bkjia.com 这里的增量备份其实只针对的是InnoDB,对于MyISAM来说,还是完全备份。(这里的/home/mysql-server/backup/2012-02-21_20-14-05是指完整备份的路径.写上这个路径.Xtrabackup会根据上次备份的LSN进行增量备份

/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

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

  • 1
  • 2
  • 下一页

相关内容