innobackupex不停库的数据备份并恢复到别的服务器上【转】

1、innobackupex原理:

备份原理

1)、首先会开启一个后台检测进程,实时检测myql redo的变化,一旦发现redo中有新日志写入,立即将日志记入后台日志文件xtrabackup_log中

2)、复制innodb的数据文件和系统表空间文件ibdata1

3)、执行flush tables with read lock操作(防止数据表发生DDL操作,并且在这一时刻获得binlog的位置),复制.frm、.MYI、.MYD等文件

恢复原理

1)、启动xtrabackup内嵌的innodb实例

2)、回放xtrabackup日志xtrabackup_log

3)、将提交的事务信息变更应用到innodb数据/表空间,同时回滚未提交的事务。

2、操作模拟

操作目的:不停库的情况下将10.200.70.185的数据备份并恢复到10.200.70.183中

操作系统:centos 6.5

innobackupex版本:1.5.1

操作如下

1)、全备(在10.200.70.185上操作)

# cd /home/mysql

# mkdir data

# innobackupex --user=root password=martin --defaults-file=/usr/local/mysql/data/my.cnf -- data/

会在当前路径下的data文件夹下生成当前时间的文件夹

# ls ./data

2016-12-22_21-07-10

2)、数据传输(在10.200.70.185上操作)

# cd /home/mysql/data

# scp -r 2016-12-22_21-07-10 10.200.70.183:/home/mysql/datadir

会将185上的全备数据传输到183的/home/mysql/datadir(如没有改文件夹,scp之前需要在183上新建)

在10.200.70.183上操作

3)、应用日志

# cd /home/mysql/datadir

# innobackupex --apply-log ./2016-12-22_21-07-10/

4)、停库并清空data下的数据

# /etc/init.d/mysql.server stop

# cd /usr/local/mysql/

# mv data data_old

# mkdir data

# cp data_old/my.cnf data/

5)、拷贝文件

# innobackupex --defaults-file=/usr/local/mysql/data/my.cnf --copy-back /home/mysql/datadir/2016-12-22_21-07-10/

6)、启动数据库

先更改属主

# chown -R mysql.mysql /usr/local/mysql

启动

# /etc/init.d/mysql.server start

转自

MySQL常用工具(三):热备工具innobackupex - 今日头条(www.toutiao.com)
http://www.toutiao.com/i6366564434063655425/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值