前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql5.5——xtrabackup进行数据库备份

Mysql5.5——xtrabackup进行数据库备份

原创
作者头像
江小白
修改2018-07-07 19:51:10
9530
修改2018-07-07 19:51:10
举报

官网:

https://www.percona.com/

环境:

centos7 1708

IP:

192.168.102.128 linux-node1.example.com

192.168.102.129 linux-node2.example.com (备份验证的服务器)

采用官方的rpm包进行安装:

为了解决一些依赖关系直接
为了解决一些依赖关系直接
在数据目录创建一个backup的目录
在数据目录创建一个backup的目录
使用此工具进行备份
使用此工具进行备份
查看备份目录
查看备份目录
查看备份类型
查看备份类型

备份的文件不能直接使用,需要把提交的事务保存数据文件,尚未提交的事务回滚。

实现操作前,以同样的方式安装mysql5.5 并且安装xtrabackup备份工具:

linux-node1上创建a,b 俩个库
linux-node1上创建a,b 俩个库
在linux-node2准备工作
在linux-node2准备工作

此时如何linux-node1还有数据写入,还需要进行即时点还原。

创建了个新的库c,d.并且手动实现二进制日志滚动。
创建了个新的库c,d.并且手动实现二进制日志滚动。
把二进制日志也备份到linux-node2上面。
把二进制日志也备份到linux-node2上面。

还原的时候不需要mysql服务启动

删除了mysql 数据目录下面的所有数据
删除了mysql 数据目录下面的所有数据
直接使用命令恢复
直接使用命令恢复
查看数据目录,没有备份后c,d 俩个库
查看数据目录,没有备份后c,d 俩个库
还原后记得修改属组属主
还原后记得修改属组属主

然后启动mysql:

/usr/local/mysql/bin/mysqld --user=mysql

查看数据库
查看数据库
binlog日志转换为sql语句
binlog日志转换为sql语句
临时关闭bin_log日志,并且开始还原
临时关闭bin_log日志,并且开始还原
恢复binlog日志
恢复binlog日志
查看数据库,备份后创建的数据库已经存在
查看数据库,备份后创建的数据库已经存在

如何实现增量备份呐:

在linux-node1上加入e,f俩个库
在linux-node1上加入e,f俩个库

添加完数据采用同样的方法进行完全备份:

innobackupex --user=root /data/backup/

备份完成以后,添加俩个数据库
备份完成以后,添加俩个数据库

使用增量备份的命令:

innobackupex --incremental /data/backup/ --incremental-basedir=/data/backup/2018-07-07_18-49-13

假设第二天又进行一次增量备份:

首先创建新的库i,j.
首先创建新的库i,j.

使用用增量备份的命令:

innobackupex --incremental /data/backup/ --incremental-basedir=/data/backup/2018-07-07_18-56-16

备份的时间指向上一次备份的目录

发送备份文件到备份机器
发送备份文件到备份机器

准备操作:

将备份文件scp到linux-node2上面,然后进行准备操作:

innobackupex --apply-log --redo-only /data/backup/2018-07-07_18-49-13/ (第一次完全备份的目录)

innobackupex --apply-log --redo-only /data/backup/2018-07-07_18-49-13

--incremental-dir=/data/backup/2018-07-07_18-56-16 (第一次增量的目录)

innobackupex --apply-log --redo-only /data/backup/2018-07-07_18-49-13

--incremental-dir=/data/backup/2018-07-07_19-00-11 (第二次增量的目录)

数据库处于关闭状态并且删除数据目录
数据库处于关闭状态并且删除数据目录

对数据进行还原:

innobackupex --copy-back /data/backup/2018-07-07_18-49-13/(只还原完全备份那个目录)

注意:

修改属主属组
修改属主属组
/etc/init.d/mysqld start 启动数据库后查看数据库
/etc/init.d/mysqld start 启动数据库后查看数据库

ps: 每一次完全增量备份以后,要进行一次完全备份

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何实现增量备份呐:
    • 准备操作:
      • 注意:
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档