【引自攀岩人生的博客】Xtrabackup实现是物理备份,而且是物理热备
目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup ;ibbackup是需要授权价格昂贵,而xtrabackup功能比ibbackup强大而且是开源的
Xtrabackup提供了两种命令行工具:
xtrabackup:专用于备份InnoDB和XtraDB引擎的数据;
innobackupex:这是一个perl脚本,在执行过程中会调用xtrabackup命令可以实现备份InnoDB,也可以备份MyISAM引擎的对象
Xtrabackup是由percona提供的mysql数据库备份工具,特点:
(1)备份过程快速、可靠;
(2)备份过程不会打断正在执行的事务;
(3)能够基于压缩等功能节约磁盘空间和流量;
(4)自动实现备份检验;
(5)还原速度快。
使用脚本完整备份数据库
执行脚本
查看目录里是不是成功
启动二进制文件、重启服务
创建数据库、表、插入数据
上图的数据是备份之前的,还有增量备份,下面介绍
安装备份数据库的软件包
tar zxf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.4.4-Linux-x86_64/
cp bin/* /usr/bin/
使用yum安装依赖包
创建备份目录(full:全备存放的目录,inc:增量备份存放的目录)
结尾出现一个OK就表示已经好了,
查看全备目录下备份的东西
xtrabackup_checkpoints--备份类型、备份状态、lsn范围信息
xtrabackup_binlog_info--mysql服务器当前正在使用的二进制日志文件及至备份这一刻为止二进制日志事件的位置。
xtrabackup_binlog_pos_innodb -- 二进制日志文件及用于InnoDB或XtraDB表的二进制日志文件的当前position。
xtrabackup_binary -- 备份中用到的xtrabackup的可执行文件;
backup-my.cnf --备份命令用到的配置选项信息;
查看info里的日志文件的编号
在数据库中插入新的数据
备份增量二进制文件
还原数据库
为了数据库有保障性 我们把数据库的数据mv移走
准备恢复数据库
注:上面截图只是一部分,还有还多输出内容没截
看到ok就可以了
还原数据库
查看数据库目录数据
可以看出数据已经恢复,但是属主属组是root,因为是用root用户还原的,修改属主属组
重启数据库systemctl restart mysqld
查看数据库中的数据
还原增量数据备份
注:还原增量备份时会产生很多二进制文件,关闭二进制文件
然后开启二进制文件查看数据是否恢复