目次
背景说明
安装
相关准备
创建备份目录
备份实操作
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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

マグネットリンクの使い方 マグネットリンクの使い方 Feb 18, 2024 am 10:02 AM

マグネット リンクは、リソースをダウンロードするためのリンク方法であり、従来のダウンロード方法よりも便利で効率的です。マグネット リンクを使用すると、中間サーバーに依存せずに、ピアツーピア方式でリソースをダウンロードできます。この記事ではマグネットリンクの使い方と注意点を紹介します。 1. マグネット リンクとは? マグネット リンクは、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 の使用方法を紹介します。 1. CrystalDiskMark の概要 CrystalDiskMark は、機械式ハード ドライブとソリッド ステート ドライブ (SSD) の読み取りおよび書き込み速度とパフォーマンスを評価するために広く使用されているディスク パフォーマンス テスト ツールです。 ). ランダム I/O パフォーマンス。これは無料の Windows アプリケーションで、使いやすいインターフェイスとハード ドライブのパフォーマンスのさまざまな側面を評価するためのさまざまなテスト モードを提供し、ハードウェアのレビューで広く使用されています。

foob​​ar2000のダウンロード方法は? -foobar2000の使い方 foob​​ar2000のダウンロード方法は? -foobar2000の使い方 Mar 18, 2024 am 10:58 AM

foob​​ar2000 は、音楽リソースをいつでも聴くことができるソフトウェアです。あらゆる種類の音楽をロスレス音質で提供します。音楽プレーヤーの強化版により、より包括的で快適な音楽体験を得ることができます。その設計コンセプトは、高度なオーディオをコンピュータ上で再生可能 デバイスを携帯電話に移植し、より便利で効率的な音楽再生体験を提供 シンプルでわかりやすく、使いやすいインターフェースデザイン 過度な装飾や煩雑な操作を排除したミニマルなデザインスタイルを採用また、さまざまなスキンとテーマをサポートし、自分の好みに合わせて設定をカスタマイズし、複数のオーディオ形式の再生をサポートする専用の音楽プレーヤーを作成します。過度の音量による聴覚障害を避けるために、自分の聴覚の状態に合わせて調整してください。次は私がお手伝いさせてください

BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? Apr 26, 2024 am 09:40 AM

MetaMask (中国語ではリトル フォックス ウォレットとも呼ばれます) は、無料で評判の高い暗号化ウォレット ソフトウェアです。現在、BTCC は MetaMask ウォレットへのバインドをサポートしており、バインド後は MetaMask ウォレットを使用してすぐにログイン、値の保存、コインの購入などが可能になり、初回バインドで 20 USDT のトライアル ボーナスも獲得できます。 BTCCMetaMask ウォレットのチュートリアルでは、MetaMask の登録方法と使用方法、および BTCC で Little Fox ウォレットをバインドして使用する方法を詳しく紹介します。メタマスクウォレットとは何ですか? 3,000 万人を超えるユーザーを抱える MetaMask Little Fox ウォレットは、現在最も人気のある暗号通貨ウォレットの 1 つです。無料で使用でき、拡張機能としてネットワーク上にインストールできます。

Baidu Netdisk アプリの使用方法 Baidu Netdisk アプリの使用方法 Mar 27, 2024 pm 06:46 PM

クラウド ストレージは今日、私たちの日常生活や仕事に欠かせない部分になっています。中国有数のクラウド ストレージ サービスの 1 つである Baidu Netdisk は、強力なストレージ機能、効率的な伝送速度、便利な操作体験により多くのユーザーの支持を得ています。また、重要なファイルのバックアップ、情報の共有、オンラインでのビデオの視聴、または音楽の聴きたい場合でも、Baidu Cloud Disk はニーズを満たすことができます。しかし、Baidu Netdisk アプリの具体的な使用方法を理解していないユーザーも多いため、このチュートリアルでは Baidu Netdisk アプリの使用方法を詳しく紹介します。まだ混乱しているユーザーは、この記事に従って詳細を学ぶことができます。 Baidu Cloud Network Disk の使用方法: 1. インストール まず、Baidu Cloud ソフトウェアをダウンロードしてインストールするときに、カスタム インストール オプションを選択してください。

NetEase メールボックス マスターの使用方法 NetEase メールボックス マスターの使用方法 Mar 27, 2024 pm 05:32 PM

NetEase Mailbox は、中国のネットユーザーに広く使用されている電子メール アドレスとして、その安定した効率的なサービスで常にユーザーの信頼を獲得してきました。 NetEase Mailbox Master は、携帯電話ユーザー向けに特別に作成された電子メール ソフトウェアで、電子メールの送受信プロセスが大幅に簡素化され、電子メールの処理がより便利になります。 NetEase Mailbox Master の使い方と具体的な機能について、以下ではこのサイトの編集者が詳しく紹介しますので、お役に立てれば幸いです。まず、モバイル アプリ ストアで NetEase Mailbox Master アプリを検索してダウンロードします。 App Store または Baidu Mobile Assistant で「Ne​​tEase Mailbox Master」を検索し、画面の指示に従ってインストールします。ダウンロードとインストールが完了したら、NetEase の電子メール アカウントを開いてログインします。ログイン インターフェイスは次のとおりです。

Thunder を使用してマグネット リンクをダウンロードする方法 Thunder を使用してマグネット リンクをダウンロードする方法 Feb 25, 2024 pm 12:51 PM

ネットワーク技術の急速な発展により、私たちの生活も大きく便利になりました。その 1 つは、ネットワークを介してさまざまなリソースをダウンロードして共有できることです。リソースをダウンロードする過程で、マグネット リンクは非常に一般的で便利なダウンロード方法になりました。では、Thunder マグネット リンクを使用するにはどうすればよいでしょうか?以下、詳しくご紹介していきます。 Xunlei は、マグネット リンクを含むさまざまなダウンロード方法をサポートする非常に人気のあるダウンロード ツールです。マグネット リンクは、リソースに関する関連情報を取得できるダウンロード アドレスとして理解できます。

See all articles