标签:
Xtrabackup是percona公司的一个开源的备份软件,可以热备InnoDB,XtraDB,MyISM(会锁表)可以看做是InnoDB Hotbackup的免费替代品。
下面简单的介绍下Xtrabackup的使用方法:
①安装xtrabackup,到官网下载适合自己的Linux的版本的xtrabackup。有RPM包格式的可以自己下载,下载之后可以直接rpm –ivh 进行安装。在安装的过程中可能出现错误,我们需要解决相关的依赖的问题。
②开始进行mysql的备份。
建立备份的文件夹
mkidr /backup
innobackupex –user=root –password=*** --host=*** /backup
数据库完成备份完成。在备份完成之后,在 /backup文件夹的下面会自动的建立以时间戳为名字的备份文件夹。在文件夹中包括几个文件
backup-my.cnf--------------备份命令所用到的配置选项信息。
xtrabackup_binlog_info---------备份时候所用到的二进制日志,以及当备份的时候二进制的位置。
xtrabackup_checkpoints---------备份类型,备份状态,备份范围信息(LSN日志信息号)。
xtrabackup_info-------------------备份信息统计,比较有用,可以用来做即时点还原。
以及其他的数据信息,不在一一的介绍了。
当完全备份完成以后,下面进行增量备份。
innobackupex –incremental /backup --incremental-basedir=/backup/****
note:此处的—incremental-basedir文件指的是上次增量备份完之后的目录。
③准备备份文件
innobackupex –apply-log –redo-only /backup/*** /完全备份文件目录
innobackupex –apply-log –redo-only /backup/*** --incremental-dir=/backup/***-----à 增量目录所在的位置。
可能有第二个,一次类推。
注意这里只有—redo-only 参数,原因:在增量备份的过程中,那些个没有提交的事务,可能已经提交完了。所以只是需要把事务日志中的内容同步到数据文件中去就好了。
④模拟数据库损坏
在这之前查看下当前的数据库日志用的是那个。并且把二进制日志文件拷贝到一个安全的目录下去。
cp /data/mydata/mysql-bin.00000* /backup/
service mysqld stop
rm –rf /data/mydata/*
killall mysqld ----à杀死全部的mysql进程。保证没有mysql进程在运行了。
innobackupex –copy-back /backup/**** /主备份目录,两个增量的目录就不用了,因为在备份目录的准备过程中,已经把两个目录合并到了主目录中去了。
当文件考过来之后,更改数据目录下的属主和属组
chown –R mysql.mysql /data/mydata/*
进行二进制日志的还原。
首先打开最后一个增量日志的xtrabackup_info文件。查看里面的end-time,此时间作为二进制日志开始还原的时间。
mysqlbinlog --start-datetime=’*****’ /backup/mysql-bin.00000* >/backup/1.sql
下面启动mysql
service mysqld start
mysql </backup/1.sql ------------à进行二进制的完成还原,在还原的过程中,关闭二进制的日志文件,在还原完毕之后,在打开此功能。关闭的方法mysql> set sql_log_bin=0,打开的时候把相应的值改为1就好了。
好了,innobackup还原mysql的方法先说到这。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/xuejinliang/article/details/47808195