欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

多实例下Percona XtraBackup使用

程序员文章站 2022-06-06 17:58:07
...

Percona XtraBackup是由Percona公司开发的备份工具,主要有两个工具,一个是 XtraBackup,另一个是innobackupex。其中中innobac

背景说明

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

安装

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

yum install
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自己的日志文件,新版本中不直接可见。

更多详情见请继续阅读下一页的精彩内容:

多实例下Percona XtraBackup使用