mysql 命令做数据迁移,mysql 数据迁移

安装第三方软件XtraBackup对数据做增量备份

安装第三方软件XtraBackup对数据做增量备份 (这种软件 备份只能恢复数据,不能恢复库和表结构)当表删了,数据回不来。

XtraBackup介绍:

在线热备份工具,备份过程中不锁库表,

只备份表记录,不备份表结构

表的存储引擎必须是InnoDB/XtraDB

必须先有一次完全备份,这样再执行备份时才知道那些数据是新产生。

安装XtraBackup: perl(DBD::mysql)  perl(Time::HiRes) 先安装两个依赖包

rpm -q perl-Time-HiRes

rpm -ivh percona-xtrabackup-2.1.6-702.rhel6.x86_64.rpm

提供2个备份命令:

xtrabackup:C程序,支持InnoDB/XtraDB

innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM

xtrabackup_56   命令语法格式:

(完全备份  完全恢复 增量备份  增量恢复)

————————————

xtrabackup_56    

--backup     备份数据

--prepare    恢复数据

--target-dir=目录名             指定备份文件存储的目录

--datadir=/var/lib/mysql    指定数据库目录的位置

--incremental-basedir=目录名  增量备份时,指定上一次备份文件存储的目录

--incremental-dir=目录名    增量恢复数据时,指定使用恢复文件所在的目录

————————————————————————————————————————————————————————

实验操作:(首先对库做一个完全备份,当增加数据时,做一个增量备份序号1,再增加数据,再做一个增量备份2,再增加数据,再做一个增量备3,再增加数据, 完全备份+增量备份)

(恢复:先恢复完全备份,再恢复增量备份,按顺序从最开始的一个一个恢复,这里恢复的是xtrabackup_checkpoints 中所对应的序列号,最后所有恢复完再把备份文件拷贝会对应数据库目录下,重启服务)

【 注意这个只能恢复一次 一次性】

1.先备份:完全备份+增量备份

db1.a    5 -> 999   完全备份

xtrabackup_56    --backup   --datadir=/var/lib/mysql    --target-dir=/allbak

10 -> 301  第1次增量备份

xtrabackup_56    --backup    --datadir=/var/lib/mysql  --target-dir=/new1    --incremental-basedir=/allbak

8 -> 801  第2次增量备份

xtrabackup_56    --backup    --datadir=/var/lib/mysql    --target-dir=/new2   --incremental-basedir=/new1

3 -> 777 第3次增量备份

xtrabackup_56    --backup    --datadir=/var/lib/mysql    --target-dir=/new3   --incremental-basedir=/new2

2.xtrabackup恢复数据的步骤:

1)准备恢复数据

xtrabackup_56   --prepare  --datadir=/var/lib/mysql    --target-dir=/allbak

xtrabackup_56   --prepare  --datadir=/var/lib/mysql    --target-dir=/allbak    --incremental-dir=/new1

xtrabackup_56   --prepare  --datadir=/var/lib/mysql    --target-dir=/allbak    --incremental-dir=/new2

xtrabackup_56   --prepare  --datadir=/var/lib/mysql    --target-dir=/allbak    --incremental-dir=/new3

2) 把备份文件拷贝回对应的数据库目录下

[root@stu ~]# cp /allbak/bbsdb/a.ibd /var/lib/mysql/bbsdb/

cp:是否覆盖"/var/lib/mysql/bbsdb/a.ibd"? y

[root@stu ~]#

3) 重启数据库服务

service  mysql  restart

4) 查看恢复是否成功

select * from bbsdb.a;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

__________________________________________________________________________

[root@host ~]# cd /var/lib/mysql

[root@host mysql]# ls

auto.cnf          ib_logfile0  performance_schema

host.tedu.cn.err  ib_logfile1  python

host.tedu.cn.pid  mysql        RPM_UPGRADE_HISTORY

ibdata1           mysql.sock   RPM_UPGRADE_MARKER-LAST

__________________________________________________________________________

事务日志    /var/lib/mysql/

ib_logfile0

ib_logfile1      ---sql命令

idbata1 记录数据信息

xtrabackup_checkpoints lsn序列号对应文件

xtrabackup_logfile  序列号所对应的sql命令文件

备份过程

在增量备份时,如何知道在所有记录中,哪些记录是新产生的

在增量备份时:如何知道有新数据写入,有写入的话也要把新数据备份上

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值