Xtarbakcup实现对MySQL的“热”备份

  

xtarbackup备份

  

<强>简介

  

Xtrabackup中主要包含两个工具:
Xtrabackup:是用于热备innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;
innobackupex:是将Xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。

  

一、查看系统环境*

  
 <代码> root@db01 ~ #猫/etc/redhat-release
  CentOS 6.8版本(最终) 
  

mysql版本   

 <代码> root@db01 ~ # mysql - v
  mysql版本14.14 Distrib 5.6.35, linux-glibc2.5 (x86_64)使用EditLine包装器代码 之前
  

<强>二、部署xtarbackup

  

1,安装包

  
 <代码> http://www.percona.com/downloads/percona yum安装- y - release/redhat/0.1 3/percona -释放- 0.1 - 3. - noarch.rpm  
  

2,查看软件包是否存在

  
 <代码> [root@db01 ~] #百胜列表| grep percona  
  

3,更新软件包

  
 <代码> yum安装percona-xtrabackup-22  
  

4,添加mysql选项,开启相关功能(错误日志,binlog二进制日志,datadir指向,等等)

  
 <代码> log-bin=mysql-bin
  datadir=/应用程序/mysql/数据
  日志错误=/应用程序/mysql/数据/db01.err  
  

<强>三,xtarbakcup参数及配置文件说明

  

<强> 3.1基本语法:

  
 <代码> (root@db01 mysql) # innobackupex——用户=根——密码=123456套接字=/tmp/mysql。袜子——defaults-file=/tmp//etc/my . cnf中所做
  语法解释:
  ——用户=数据库用户
  ——密码=数据库密码
  ——套接字=指定插座
  ——默认文件=指定配置文件/tmp/最后面是存放位置 
  

显示如下内容,基本上算是备份成功了

  
 <代码> innobackupex:备份目录中创建/tmp/2017 - 12 - 13 - _12 - 06 - 55的
  mysql-bin innobackupex: MySQL binlog位置:文件名”。000004年,120的位置
  171213年12:07:07 innobackupex:连接数据库服务器关闭
  171213年12:07:07 innobackupex:完成《OK !  
  

<强> 3.2查看备份文件

  
 <代码> (root@db01 mysql) #将/tmp/2017 - 12 - 13 - _12 06 - 55/ 
  

 Xtarbakcup实现对MySQL的“热”备份

  

各文件说明:

  
 <代码> (1)xtrabackup_checkpoints——备份类型(如完全或增量),备份状态(如是否已经没准备状态)和LSN(日志序列号)范围信息
  每个InnoDB页(通常大小为16 k)都会包含一个日志序列号,即LSN, LSN是整个数据库系统的系统版本号,每个页面相关的LSN能够表名此页面最近是如何发生改变的。
  backup_type=full-backuped
  from_lsn=0
  to_lsn=2097320
  last_lsn=2097320
  紧凑=0
  (2)xtrabackup_binlog_info——mysql服务器当前正在使用的二进制日志及备份这一刻为二进制日志事件的位置
  (3)xtrabackup_pos_innodb——二进制日志及用于InnoDB或XtraDB表的二进制日志的当前posistion。
  (4)xtrabackup_binary——备份中用到的xtrabackup的可执行文件
  (5)backup-my.cnf——备份命令用到的配置选项信息; 
  <人力资源/>   

<强> 3.3注意:
在使用innobackupex命令备份时吗还可以使用,no-timestamp选项来阻止命令自动创建一个以时间命名的目录
innobackupex命令将会创建一个BACKUP-DIR目录来存储备份数据
还需要注意,备份数据库的用户需要具有相对应的权限,如果要使用一个最小权限的用户进行备份可以使用以下参数:

  
 <代码> mysql>格兰特重载、锁表,复制客户alt=" Xtarbakcup实现对MySQL的“热”备份“> 
2。删除数据下文件内容

  
 <代码> cd/应用程序/mysql
  cd数据/\ rm rf *  
  

3,恢复之后,要赋予数据目录权限

  

(root@db01 mysql) #乔恩- r mysql。mysql/应用程序/mysql/数据/
/etc/init。d/mysqld开始

Xtarbakcup实现对MySQL的“热”备份