目录
背景说明
安装
相关准备
创建备份目录
备份实操作
1. 全量备份
2.制造新数据
3. 第一次增量备份
恢复操作
1. 对全量备份进行操作
2. 将第一次增量备份的数据合并到全量备份中
3.将第二次全量备份的数据合并到全量备份中
4.停止mysql服务
3.恢复数据
6.权限设置
7.启动mysql3307实例
8. 查看是否恢复成功
1 .模拟数据丢失
2. 停止3306实例
4. mysql的data目录进行权限设置
5.启动3306实例
碰到的问题及解决方法
1. innobackupex: Error: Original data directory 'XXX' is not empty!
2. ./ibdata1 can't be opened in read-write mode
首页 数据库 mysql教程 多实例下percona-xtrbackup使用(2014-11-10)

多实例下percona-xtrbackup使用(2014-11-10)

Jun 07, 2016 pm 04:10 PM
使用 实例

背景说明 percona-xtrabackup是由percona公司开发的备份工具,主要有两个工具,一个是xtrabackup,另一个是innobackupex。其中中innobackupex是对xtrabackup封装,是一个perl脚本。本文操作相对比较简单,通过innobackupex将3306实例的数据进行备份,再恢复

背景说明

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

安装

percona-xtrbackup可以使用二进制、源码、yum安装,本文主要使用yum安装,步骤如下:
 yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm 
 yum install percona-xtrabackup.x86_64
 yum search percona
登录后复制
其他安装可以查看官网: http://www.percona.com/doc/percona-xtrabackup/2.2/installation.html http://www.percona.com/doc/percona-xtrabackup/2.2/installation/compiling_xtrabackup.html

相关准备

创建备份目录

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/"。以方便数据恢复时使用。 常用参数说明:
--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自己的日志文件,新版本中不直接可见。

2.制造新数据

创建表,并写入数据,作为新增的数据。
use test;
create table t3(col1 int,col2 int);
登录后复制
写入如下新数据:
insert into t3(col1,col2)value(1,1);
insert into t3(col1,col2)value(2,1);
insert into t3(col1,col2)value(3,1);
insert into t3(col1,col2)value(4,1);
insert into t3(col1,col2)value(5,1);
insert into t3(col1,col2)value(6,1);
insert into t3(col1,col2)value(7,1);
insert into t3(col1,col2)value(8,1);
insert into t3(col1,col2)value(9,1);
insert into t3(col1,col2)value(10,1);
登录后复制

注:可以删除、更新数据,再观察首次增量备份后的目录下的表文件,与全量备份的表文件进行对比,分析不同之处。

3. 第一次增量备份

第二次备份即首次增量备份,增量备份是在上次备份的基础上对最新的数据进行备份。语句如下:
innobackupex --user=root --password=123456 --socket=/tmp/mysql_3306.sock  --defaults-file=/data/backup/conf/3306.cnf  --incremental /data/backup/incremental/ --incremental-basedir=/data/backup/full/2014-11-07_14-06-47
登录后复制
参数说明:
--incremental :指定存储本次增量备份的目录
--incremental-basedir:上次备份的存储目录
登录后复制
完成首次的增量备份后,在指定目录下也会生成一个新的目录,目录中的文件与全量备份文件部分不一样。

4. 第二次增量备份

在第二次备份(增备)的基础上,再进行备份。

innobackupex --user=root --password=123456 --socket=/tmp/mysql_3306.sock  --defaults-file=/data/backup/conf/3306.cnf  --incremental /data/backup/incremental/  --incremental-basedir=/data/backup/incremental/2014-11-07_14-21-25
登录后复制

恢复操作

1. 对全量备份进行操作

了解两个参数 :
--apply-log :创建新的事务日志,从backup-my.cnf文件中读取innodb配置信息。
--redo-only:只读已提交的事务,在最后一次增量合并时,不需要填写这个参数。
登录后复制
全量备份恢复前准备
innobackupex  --apply-log --redo-only /data/backup/full/2014-11-07_14-06-47
登录后复制

2. 将第一次增量备份的数据合并到全量备份中

innobackupex  --apply-log --redo-only  /data/backup/full/2014-11-07_14-06-47 --incremental-dir=/data/backup/incremental/2014-11-07_14-21-25
登录后复制

3.将第二次全量备份的数据合并到全量备份中

innobackupex --apply-log  /data/backup/full/2014-11-06_14-52-38/ --incremental-dir=/data/backup/incremental/2014-11-07_14-23-52
登录后复制
注:最后一次的合并操作中不需要添加--redo-only参数。

4.停止mysql服务

恢复时需要停掉MySQL,所以我们停掉MySQL3307实例。
/usr/local/mysql/bin/mysqld_multi stop 3307
登录后复制
如果无法停止mysql,执行kill -9 mysql3307实例的进程。

5. 恢复数据。

innobackupex --defaults-file=/data/backup/conf/3307.cnf --copy-back /data/backup/full/2014-11-06_14-52-38/ 
登录后复制

6.权限设置

对mysql的data目录进行权限设置。
chown -R mysql:mysql   /data/mysql/mysql_3307/data
登录后复制

7.启动mysql3307实例

/usr/local/mysql/bin/mysqld_mutil start 3306
登录后复制
查看实例是否被启动:
/usr/local/mysql/bin/mysqld_mutil report
登录后复制

8. 查看是否恢复成功

登录数据库核对两个数据库中相关表的数据是否一致。

另外也可以通过这个备份恢复3306的数据,通过如下操作模拟数据丢失情况。

1 .模拟数据丢失

drop database test;
登录后复制

2. 停止3306实例

3.恢复数据

<span style="font-size:14px;">innobackupex --defaults-file=/data/backup/conf/3306.cnf --copy-back /data/backup/full/2014-11-06_14-52-38/ </span>
登录后复制

4. mysql的data目录进行权限设置

chown -R mysql:mysql   /data/mysql/mysql_3307/data 
登录后复制

5.启动3306实例

查看test数据库是所有表及数据都被恢复。

注:

1. 在备份的时候如果磁盘空间还足够的话,建议每个备份都再做一个副本,防止备份数据异常。

2. 进行恢复的时候一定要注意合并的先后顺序,如全备->增量备2->增量备份2,先后顺序不能乱,否则将使用数据不一致。

碰到的问题及解决方法

1. innobackupex: Error: Original data directory 'XXX' is not empty!

需要删除之前的data目录下的,我们可以对原有的data目录进行重命名。

mv /data/mysql/mysql_3307/data /data/mysql/mysql_3307/data_bak_20141107

2. ./ibdata1 can't be opened in read-write mode

\

图4

查看下data及子目录的所属用户及用户组,如果是root用户及用户组,可以做如下操作:

chown -R mysql:mysql /data/mysql/mysql_3307/data

3.InnoDB: Cannot create ./ib_logfile101

如下错误:

2014-11-07 10:24:05 12406 [ERROR] InnoDB: Cannot create ./ib_logfile101

2014-11-07 10:24:05 12406 [ERROR] Plugin 'InnoDB' init function returned error.

2014-11-07 10:24:05 12406 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2014-11-07 10:24:05 12406 [ERROR] Unknown/unsupported storage engine: InnoDB

2014-11-07 10:24:05 12406 [ERROR] Aborting

为了解决上一个问题,将data目录下ib_*文件都删除或重命名,建议重命名。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用磁力链接 如何使用磁力链接 Feb 18, 2024 am 10:02 AM

磁力链接是一种用于下载资源的链接方式,相比传统的下载方式更为便捷和高效。使用磁力链接可以通过点对点的方式下载资源,而不需要依赖中介服务器。本文将介绍磁力链接的使用方法及注意事项。一、什么是磁力链接磁力链接是一种基于P2P(Peer-to-Peer)协议的下载方式。通过磁力链接,用户可以直接连接到资源的发布者,从而完成资源的共享和下载。与传统的下载方式相比,磁

如何使用mdf和mds文件 如何使用mdf和mds文件 Feb 19, 2024 pm 05:36 PM

mdf文件和mds文件怎么用随着计算机技术的不断进步,我们可以通过多种方式来存储和共享数据。在数字媒体领域,我们经常会遇到一些特殊的文件格式。在这篇文章中,我们将讨论一种常见的文件格式——mdf和mds文件,并介绍它们的使用方法。首先,我们需要了解mdf文件和mds文件的含义。mdf是CD/DVD镜像文件的扩展名,而mds文件则是mdf文件的元数据文件。

crystaldiskmark是什么软件?-crystaldiskmark如何使用? crystaldiskmark是什么软件?-crystaldiskmark如何使用? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark是一款适用于硬盘的小型HDD基准测试工具,可以快速测量顺序和随机读/写速度。接下来就让小编为大家介绍一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介绍CrystalDiskMark是一款广泛使用的磁盘性能测试工具,用于评估机械硬盘和固态硬盘(SSD)的读写速度和随机I/O性能。它是一款免费的Windows应用程序,并提供用户友好的界面和各种测试模式来评估硬盘驱动器性能的不同方面,并被广泛用于硬件评

foobar2000怎么下载?-foobar2000怎么使用 foobar2000怎么下载?-foobar2000怎么使用 Mar 18, 2024 am 10:58 AM

foobar2000是一款能随时收听音乐资源的软件,各种音乐无损音质带给你,增强版本的音乐播放器,让你得到更全更舒适的音乐体验,它的设计理念是将电脑端的高级音频播放器移植到手机上,提供更加便捷高效的音乐播放体验,界面设计简洁明了易于使用它采用了极简的设计风格,没有过多的装饰和繁琐的操作能够快速上手,同时还支持多种皮肤和主题,根据自己的喜好进行个性化设置,打造专属的音乐播放器支持多种音频格式的播放,它还支持音频增益功能根据自己的听力情况调整音量大小,避免过大的音量对听力造成损害。接下来就让小编为大

百度网盘app怎么用 百度网盘app怎么用 Mar 27, 2024 pm 06:46 PM

在如今云存储已经成为我们日常生活和工作中不可或缺的一部分。百度网盘作为国内领先的云存储服务之一,凭借其强大的存储功能、高效的传输速度以及便捷的操作体验,赢得了广大用户的青睐。而且无论你是想要备份重要文件、分享资料,还是在线观看视频、听取音乐,百度网盘都能满足你的需求。但是很多用户们可能对百度网盘app的具体使用方法还不了解,那么这篇教程就将为大家详细介绍百度网盘app如何使用,还有疑惑的用户们就快来跟着本文详细了解一下吧!百度云网盘怎么用:一、安装首先,下载并安装百度云软件时,请选择自定义安装选

网易邮箱大师怎么用 网易邮箱大师怎么用 Mar 27, 2024 pm 05:32 PM

网易邮箱,作为中国网民广泛使用的一种电子邮箱,一直以来以其稳定、高效的服务赢得了用户的信赖。而网易邮箱大师,则是专为手机用户打造的邮箱软件,它极大地简化了邮件的收发流程,让我们的邮件处理变得更加便捷。那么网易邮箱大师该如何使用,具体又有哪些功能呢,下文中本站小编将为大家带来详细的内容介绍,希望能帮助到大家!首先,您可以在手机应用商店搜索并下载网易邮箱大师应用。在应用宝或百度手机助手中搜索“网易邮箱大师”,然后按照提示进行安装即可。下载安装完成后,我们打开网易邮箱账号并进行登录,登录界面如下图所示

BTCC教学:如何在BTCC交易所绑定使用MetaMask钱包? BTCC教学:如何在BTCC交易所绑定使用MetaMask钱包? Apr 26, 2024 am 09:40 AM

MetaMask(中文也叫小狐狸钱包)是一款免费的、广受好评的加密钱包软件。目前,BTCC已支持绑定MetaMask钱包,绑定后可使用MetaMask钱包进行快速登入,储值、买币等,且首次绑定还可获得20USDT体验金。在BTCCMetaMask钱包教学中,我们将详细介绍如何注册和使用MetaMask,以及如何在BTCC绑定并使用小狐狸钱包。MetaMask钱包是什么?MetaMask小狐狸钱包拥有超过3,000万用户,是当今最受欢迎的加密货币钱包之一。它可免费​​使用,可作为扩充功能安装在网络

小爱音箱怎么使用 小爱音箱怎么连接手机 小爱音箱怎么使用 小爱音箱怎么连接手机 Feb 22, 2024 pm 05:19 PM

长按音箱的播放键后,在软件中连接wifi即可使用。教程适用型号:小米12系统:EMUI11.0版本:小爱同学2.4.21解析1首先找到音箱的播放键,长按进入配网模式。2在手机上的小爱音箱软件中登录小米账号,点击添加新的小爱音箱。3输入wifi的名称和密码后,即可呼唤小爱同学进行使用了。补充:小爱音箱有什么功能1小爱音箱有系统功能、社交功能、娱乐功能、知识功能、生活功能、智能家庭、训练计划。总结/注意事项手机要提前安装好小爱同学APP,方便连接和使用。

See all articles