mysql xtrabackup恢复_MySQL Xtrabackup备份和恢复

http://instance.iteye.com/blog/1454027

2.安装Xtrabackup ,下载Xtrabackup

配置源

#vi /etc/yum.repos.d/percona.repo

[percona]

name = CentOS $releasever - Percona

baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/

enabled = 1

gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-percona

gpgcheck = 1

添加key

#cd  /etc/pki/rpm-gpg

#wget http://www.percona.com/downloads/RPM-GPG-KEY-percona

安装Xtrabackup

yum install xtrabackup

备份及恢复

一. 整库备份及恢复

①备份

#innobackupex-1.5.1 --user=root --password=1234 --defaults-file=/etc/my.cnf /var/backups

②恢复

a. 停止 MySQL 服务:# /etc/init.d/mysqld stop

b. #innobackupex-1.5.1 --apply-log --defaults-file=/etc/my.cnf /var/backups/2012-03-20_19-30-04

# innobackupex-1.5.1 --copy-back --defaults-file=/etc/my.cnf /var/backups/2012-03-20_19-30-04

使用cd或者ls 命令看看你的数据库目录下是不是有文件了?

修改数据库文件权限,否则无法启动。(这步我是cd到原数据库目录下进行的)

#chown -R mysql:mysql *

重启数据库,看恢复是否成功。

二.全量备份及恢复

使用xtrabackup,仅限InnoDB和xtradb表,且注意mysql配置文件my.cnf中“default_table_type = InnoDB”否则不成功

①备份

#xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/var/backups/base/

②恢复

执行两次:

#xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base

#xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base

因为第二次prepare会帮助我们生成redo log文件,从而加快MySQL数据库启动的速度。

将数据库停掉,删除数据库下的ib*(ib开头的所有)文件。将/var/backups/base目录下的ib*文件拷贝到数据库目录。

#chown mysql:mysql ib*

重启数据库,看恢复是否成功。

三.增量备份及恢复

xtrabackup做增量仅限InnoDB和xtradb表,且注意mysql配置文件my.cnf中“default_table_type= InnoDB”否则不成功

做增量前当然要先进行全量备份,在全量的基础上来进行增量

首先进行全量备份

# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/var/backups/base/

在全量备份的基础上进行增量

# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/var/backups/1/ -- incremental-basedir=/var/backups/base

xtrabackup --defaults-file=配置文件 --target-dir=全量备份存储目录 --incremental-basedir=增量存储目录 --backup

注:/var/backups/1/是每次都需修改的。比如第二次增量就改成/var/backups/2

增量恢复。(步骤同全量恢复,只是在执行恢复命令的时候中间多一步)

# xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base

# xtrabackup --target-dir=/backups/base --prepare --incremental-dir=/var/backups/1

# xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/var/backups/base

将数据库停掉,删除数据库下的ib*文件。将/var/backups/base目录下的ib*文件拷贝到数据库目录。

#chown mysql:mysql ib*

重启数据库,看恢复是否成功。

注:备份前先登录数据库,打开一个表看看记录条数,然后进行备份,然后再对表最终的记录进行修改,然后在备份,再测试。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-03-20 20:41

浏览 2390

分类:数据库

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值