多实例下Percona XtraBackup使用

Percona  XtraBackup是由Percona公司开发的备份工具,主要有两个工具,一个是 XtraBackup,另一个是innobackupex。其中中innobackupex是对 XtraBackup封装,是一个perl脚本。本文操作相对比较简单,通过innobackupex将3306实例的数据进行备份,再恢复到3307实例上。同时也简单的介绍下通过这个备份恢复数据。

安装

Percona-xtrbackup可以使用二进制、源码、yum安装,本文主要使用yum安装,步骤如下:

yum install RedHat/0.1-3/percona-release-0.1-3.noarch.rpm
 yum install percona-xtrabackup.x86_64
 yum search percona

其他安装可以查看官网:

相关准备
创建备份目录

cd /
mkdir data
cd data
mkdir mkdir backup

在backup目录下,创建三个目录:mkdir {conf,incremental,full}

三个目录具体功能如下:
conf:存放自定义的my.cnf配置信息
full:存放首次全量备份数据

incremental:存放增量备份数据
备份my.cnf到conf目录

cp /etc/my.cnf /data/backup/conf/3306.cnf
cp /etc/my.cnf /data/backup/conf/3307.cnf

3306.cnf原样保存即可,3307.cnf需要进行修改,在[mysqld]节点下添加"datadir=/data/mysql/mysql_3307/data/"。以方便数据恢复时使用。

MySQL管理之使用XtraBackup进行热备

MySQL开源备份工具Xtrabackup备份部署

MySQL Xtrabackup备份和恢复

用XtraBackup实现MySQL的主从复制快速部署【主不锁表】

安装和使用 Percona 推出的 Xtrabackup 备份 MySQL

常用参数说明

--user: mysql用户
--password: 用户密码
--defaults-file:  指定my.cnf文件路径,若不指定则读取mysql默认的my.cnf文件
--socket:mysql实例对应的socket文件

备份实操作

1. 全量备份

首次备份为全量备份,也是增量备份的基础。

innobackupex --user=root --password=123456 --socket=/tmp/mysql_3306.sock  --defaults-file=/data/backup/conf/3306.cnf  /data/backup/full/

首次将数据库的所有数据备份到/data/backup/full/目录,在/data/backup/full/ 目录下将生成一个当前时间戳的子目录,如图1。若要不生成时间戳的子目录,可以使用--no-timestamp参数,使其不自动生成时间戳的子目录,所以备份数据将存储在/data/backup/full/ 下。 全备只需指定用于备份的用户名、密码和备份路径即可,最后出现innobackupex: completed OK! 则代表备份成功。

图1

全备后的目录文件,如图2。

图2

mysql的data目录下的文件,如图3。

图3

可以对比图2、图3的目录文件,xtrabackup生成的文件有backup-my.cnf、xtrabackup_checkpoints、xtrabackup_info、xtrabackup_lofile。

文件说明:

backup-my.cnf: 主要是记录innobackupex中使用到Mysql参数。

# This MySQL options file was generated by innobackupex.

# The MySQL server
[mysqld]
innodb_checksum_algorithm=innodb
innodb_data_file_path=ibdata1:12M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=50331648
innodb_page_size=16384
innodb_undo_directory=.
innodb_undo_tablespaces=0

xtrabackup_checkpoints: 记录备份类型及开始及结束的lsn位置。backup_type 有两种full-prepared (全备)、incremental (增备)。

backup_type = full-prepared
from_lsn = 0
to_lsn = 8234580547
last_lsn = 8234580547
compact = 0

xtrabackup_info: 记录mysql相关信息。

uuid = 3d090541-6649-11e4-bb2a-000c295bd3a3
name =
tool_name = innobackupex
tool_command = --user=root --password=... --incremental /data/backup/incremental/ --incremental-base=/data/backup/incremental/2014-11-07_14-24-54/ --defaults-file =/data/backup/conf/3306.cnf --socket=/tmp/mysql_3306.sock
tool_version = 1.5.1-xtrabackup
ibbackup_version = xtrabackup version 2.2.6 based on MySQL server 5.6.21 Linux (x86_64) (revision id: )
server_version = 5.6.21-log
start_time = 2014-11-07 14:41:52
end_time = 2014-11-07 14:42:27
lock_time = 2
binlog_pos =
innodb_from_lsn = 8234579864
innodb_to_lsn = 8234580547
partial = N
incremental = Y
format = file
compact = N
compressed = N

xtrabackup_logfile:    xtrabackup自己的日志文件,新版本中不直接可见。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cdca5bd2bd303250e0a3c7a66e4359bd.html