ホームページ データベース mysql チュートリアル MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install)_MySQL

MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install)_MySQL

May 30, 2016 pm 05:10 PM
エンジン

MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install)

Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

 

Xtrabackup有两个主要的工具:xtrabackup、innobackupex

 

(1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表

 

(2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁

 

安装XtraBackup,首先要安装MySQL

 

1、查看MySQL版本

[root@rh64 ~]# service mysql start

Starting MySQL (Percona Server)...[  OK  ]

[root@rh64 ~]# mysql -u root -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.25-73.1 Percona Server (GPL), Release 73.1, Revision 07b797f

Copyright (c) 2009-2015 Percona LLC and/or its affiliates

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

 

2、安装配置

 

在/etc/my.cnf文件要配置数据所存储的目录

[root@rh64 XtraBackup]# cat /etc/my.cnf |grep datadir

datadir=/var/lib/mysql

 

3、下载安装

MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install)_MySQL

安装:

[root@rh64 XtraBackup]# ls -l

total 26808

-rw-r----- 1 mysql mysql  5664452 Oct 27 10:27 percona-xtrabackup-2.3.2-1.el6.x86_64.rpm

-rw-r----- 1 mysql mysql 20807976 Oct 27 10:27 percona-xtrabackup-debuginfo-2.3.2-1.el6.x86_64.rpm

-rw-r----- 1 mysql mysql   971264 Oct 27 10:27 percona-xtrabackup-test-2.3.2-1.el6.x86_64.rpm

 

[root@rh64 XtraBackup]# rpm -ivh percona-xtrabackup-2.3.2-1.el6.x86_64.rpm

warning: percona-xtrabackup-2.3.2-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY

error: Failed dependencies:

        libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.2-1.el6.x86_64

 

----安装出错,要求需有libev.so库支持

 

下载libev安装包:

[root@rh64 libev-4.15]# tar zxvf libev-4.15.tar.gz 

 

安装libev:

[root@rh64 libev-4.15]# ./configure

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking whether to enable maintainer-specific portions of Makefiles... no

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables... 

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking how to print strings... printf

checking for a sed that does not truncate output... /bin/sed

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for fgrep... /bin/grep -F

checking for ld used by gcc... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B

checking the name lister (/usr/bin/nm -B) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1966080

checking whether the shell understands some XSI constructs... yes

checking whether the shell understands "+="... yes

checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop

checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop

checking for /usr/bin/ld option to reload object files... -r

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for dlltool... no

checking how to associate runtime and link libraries... printf %s\n

checking for ar... ar

checking for archiver @FILE support... @

......

 

[root@rh64 libev-4.15]# make

make  all-am

make[1]: Entering directory `/home/mysql/libev-4.15'

/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.     -g -O3 -MT ev.lo -MD -MP -MF .deps/ev.Tpo -c -o ev.lo ev.c

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -g -O3 -MT ev.lo -MD -MP -MF .deps/ev.Tpo -c ev.c  -fPIC -DPIC -o .libs/ev.o

ev.c:1531: warning: 'ev_default_loop_ptr' initialized and declared 'extern'

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -g -O3 -MT ev.lo -MD -MP -MF .deps/ev.Tpo -c ev.c -o ev.o >/dev/null 2>&1

mv -f .deps/ev.Tpo .deps/ev.Plo

/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.     -g -O3 -MT event.lo -MD -MP -MF .deps/event.Tpo -c -o event.lo event.c

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -g -O3 -MT event.lo -MD -MP -MF .deps/event.Tpo -c event.c  -fPIC -DPIC -o .libs/event.o

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -g -O3 -MT event.lo -MD -MP -MF .deps/event.Tpo -c event.c -o event.o >/dev/null 2>&1

mv -f .deps/event.Tpo .deps/event.Plo

/bin/sh ./libtool --tag=CC   --mode=link gcc  -g -O3 -version-info 4:0:0  -o libev.la -rpath /usr/local/lib ev.lo event.lo  -lm 

libtool: link: gcc -shared  -fPIC -DPIC  .libs/ev.o .libs/event.o   -lm  -O3   -Wl,-soname -Wl,libev.so.4 -o .libs/libev.so.4.0.0

libtool: link: (cd ".libs" && rm -f "libev.so.4" && ln -s "libev.so.4.0.0" "libev.so.4")

libtool: link: (cd ".libs" && rm -f "libev.so" && ln -s "libev.so.4.0.0" "libev.so")

libtool: link: ar cru .libs/libev.a  ev.o event.o

libtool: link: ranlib .libs/libev.a

libtool: link: ( cd ".libs" && rm -f "libev.la" && ln -s "../libev.la" "libev.la" )

make[1]: Leaving directory `/home/mysql/libev-4.15'

 

[root@rh64 libev-4.15]# make install

make[1]: Entering directory `/home/mysql/libev-4.15'

 /bin/mkdir -p '/usr/local/lib'

 /bin/sh ./libtool   --mode=install /usr/bin/install -c   libev.la '/usr/local/lib'

libtool: install: /usr/bin/install -c .libs/libev.so.4.0.0 /usr/local/lib/libev.so.4.0.0

libtool: install: (cd /usr/local/lib && { ln -s -f libev.so.4.0.0 libev.so.4 || { rm -f libev.so.4 && ln -s libev.so.4.0.0 libev.so.4; }; })

libtool: install: (cd /usr/local/lib && { ln -s -f libev.so.4.0.0 libev.so || { rm -f libev.so && ln -s libev.so.4.0.0 libev.so; }; })

libtool: install: /usr/bin/install -c .libs/libev.lai /usr/local/lib/libev.la

libtool: install: /usr/bin/install -c .libs/libev.a /usr/local/lib/libev.a

libtool: install: chmod 644 /usr/local/lib/libev.a

libtool: install: ranlib /usr/local/lib/libev.a

libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/local/lib

----------------------------------------------------------------------

Libraries have been installed in:

   /usr/local/lib

If you ever happen to want to link against installed libraries

in a given directory, LIBDIR, you must either use libtool, and

specify the full pathname of the library, or use the `-LLIBDIR'

flag during linking and do at least one of the following:

   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable

     during execution

   - add LIBDIR to the `LD_RUN_PATH' environment variable

     during linking

   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag

   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

----------------------------------------------------------------------

 /bin/mkdir -p '/usr/local/include'

 /usr/bin/install -c -m 644 ev.h ev++.h event.h '/usr/local/include'

 /bin/mkdir -p '/usr/local/share/man/man3'

 /usr/bin/install -c -m 644 ev.3 '/usr/local/share/man/man3'

make[1]: Leaving directory `/home/mysql/libev-4.15'

 

查看libev安装信息:

[root@rh64 libev-4.15]# find / -name 'libev.so*'

/home/mysql/libev-4.15/.libs/libev.so.4.0.0

/home/mysql/libev-4.15/.libs/libev.so

/home/mysql/libev-4.15/.libs/libev.so.4

/usr/local/lib/libev.so.4.0.0

/usr/local/lib/libev.so.4

/usr/local/lib/libev.so

 

配置lib访问环境:

[root@rh64 XtraBackup]# cat /etc/profile

export LIBDIR=/usr/local/lib

export LD_LIBRARY_PATH=/usr/local/lib

export LD_RUN_PATH=/usr/local/lib

"/etc/profile" 82L, 1898C written

 

再次安装:

[root@rh64 XtraBackup]# rpm -ivh percona-xtrabackup-2.3.2-1.el6.x86_64.rpm

warning: percona-xtrabackup-2.3.2-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY

error: Failed dependencies:

        libev.so.4()(64bit) is needed by percona-xtrabackup-2.3.2-1.el6.x86_64

 

---仍然失败!!!可能是libev的版本不对,应该下载libev(64)

 

 

下载libev(64)并安装:

http://rpmfind.net/linux/rpm2html/search.php?query=libev.so.4()(64bit)

 

[root@rh64 mysql]# rpm -ivh libev-4.04-2.el6.x86_64.rpm 

warning: libev-4.04-2.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 66534c2b: NOKEY

Preparing...                ########################################### [100%]

   1:libev                  ########################################### [100%]

 

[root@rh64 mysql]# rpm -qa |grep libev

libevent-1.4.13-4.el6.x86_64

libevent-1.4.13-4.el6.i686

libev-4.04-2.el6.x86_64

[root@rh64 mysql]# rpm -ql libev

/usr/lib64/libev.so.4

/usr/lib64/libev.so.4.0.0

/usr/share/doc/libev-4.04

/usr/share/doc/libev-4.04/Changes

/usr/share/doc/libev-4.04/LICENSE

/usr/share/doc/libev-4.04/README

 

安装xtrabackup:

 

[root@rh64 XtraBackup]# ls

percona-xtrabackup-2.3.2-1.el6.x86_64.rpm            percona-xtrabackup-test-2.3.2-1.el6.x86_64.rpm

percona-xtrabackup-debuginfo-2.3.2-1.el6.x86_64.rpm

 

[root@rh64 XtraBackup]# rpm -ivh *

warning: percona-xtrabackup-2.3.2-1.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY

Preparing...                ########################################### [100%]

   1:percona-xtrabackup     ########################################### [ 33%]

   2:percona-xtrabackup-test########################################### [ 67%]

   3:percona-xtrabackup-debu########################################### [100%]

 

  ----安装成功!!!

   

[root@rh64 XtraBackup]# man innobackupex

INNOBACKUPEX(1)               Percona XtraBackup               INNOBACKUPEX(1)

NAME

       innobackupex - innobackupex Documentation

 

       The  innobackupex  tool is a Perl script that acts as a wrapper for the xtrabackup C program. It

       is a patched version of the innobackup Perl script that Oracle distributes with the  InnoDB  Hot

       Backup tool. It enables more functionality by integrating xtrabackup and other functions such as

       file copying and streaming, and adds some convenience. It lets you perform point-in-time backups

       of  InnoDB  /  XtraDB tables together with the schema definitions, MyISAM tables, and other por-

       tions of the server.

       This manual section explains how to use innobackupex in detail.

PREREQUISITES

   Connection and Privileges Needed

       Percona XtraBackup needs to be able to connect to the database server and perform operations  on

       the  server  and  the  datadir when creating a backup, when preparing in some scenarios and when

       restoring it. In order to do so, there are privileges and permission requirements on its  execu-

       tion that must be fulfilled.

       Privileges  refers  to  the  operations  that  a  system user is permitted to do in the database

       server. They are set at the database server and only apply to users in the database server.

       Permissions are those which permits a user to perform operations on the  system,  like  reading,

       writing  or  executing  on a certain directory or start/stop a system service. They are set at a

       system level and only apply to system users.

       Whether xtrabackup or innobackupex is used, there are two actors involved: the user invoking the

       program  -  a  system  user - and the user performing action in the database server - a database

       user. Note that these are different users in different places, even tough they may have the same

       username.

       All the invocations of innobackupex and xtrabackup in this documentation assumes that the system

       user has the appropriate permissions and you are providing the relevant options  for  connecting

       the database server - besides the options for the action to be performed - and the database user

       has adequate privileges.

   Connecting to the server

       The database user used to connect to the server and its password are specified by the --user and

       --password option,

           $ innobackupex --user=DBUSER --password=SECRET /path/to/backup/dir/

           $ innobackupex --user=LUKE  --password=US3TH3F0RC3 --stream=tar ./ | bzip2 -

           $ xtrabackup --user=DVADER --password=14MY0URF4TH3R --backup --target-dir=/data/bkps/

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Redmi G Pro 2024 氷冷却と暴力的なエンジンを備えた 3 月 4 日に会いましょう PC バージョンのサポート Redmi G Pro 2024 氷冷却と暴力的なエンジンを備えた 3 月 4 日に会いましょう PC バージョンのサポート Mar 02, 2024 pm 12:19 PM

Redmiは本日、新しいRedmi GPro 2024が3月4日に正式にリリースされることを正式に発表しました。つまり、来週にはこのエキサイティングな新製品がリリースされることになります。 RedmiGPro2024は、eスポーツのフラッグシップとして完全デビューし、携帯電話業界の能力をノートブックビジネスに深く統合し、210Wのスーパーパフォーマンスリリースを提示し、Redmiパフォーマンスが新たな最高値に達します。 i9-14900HX プロセッサーと RTX4060 グラフィックス カードを搭載し、e スポーツとクリエーションを完璧に組み合わせ、二重の進化を実現します。この観点から見ると、この新製品の性能は再び向上しており、実際の効果は興味深いものです。公式ウォームアップでは、新しいRedmi G Pro 2024には暴力的なエンジンのPCバージョンが搭載されていると述べられました。携帯電話技術の強化、3 つの主要な要因が牽引

超リアルな描写!アンリアル エンジン テクノロジーの専門家がグローバル イルミネーション システム Lumen について説明します 超リアルな描写!アンリアル エンジン テクノロジーの専門家がグローバル イルミネーション システム Lumen について説明します Apr 08, 2023 pm 10:21 PM

リアルタイム グローバル イルミネーション (リアルタイム GI) は、常にコンピュータ グラフィックスの聖杯でした。長年にわたり、業界はこの問題を解決するためにさまざまな方法を提案してきました。一般的な方法には、静的ジオメトリ、大まかなシーン表現、または大まかなプローブの追跡などの特定の仮定を利用して問題領域を制約すること、および 2 つの間の照明を補間することが含まれます。 Unreal Engine のグローバル イルミネーションおよび反射システム Lumen テクノロジーは、Krzysztof Narkowicz と Daniel Wright によって共同設立されました。目標は、均一な照明と焼き付けたような照明品質を実現できる、以前のものとは異なるソリューションを構築することでした。最近、SIGGRAPH 2022 でクシシュトフ・ナルコ氏が

NVIDIA AI ゲームエンジンの実際のテスト: NPC とのリアルタイムチャット、中国語が流暢 NVIDIA AI ゲームエンジンの実際のテスト: NPC とのリアルタイムチャット、中国語が流暢 Mar 04, 2024 am 09:40 AM

『サイバーパンク2077』で黄学者が作った知性あるNPCはすでに中国語を話せる? Qubit を実際に体験して、NPC が中国語と英語で流暢に会話し、自然な表情と動き、口の形を一致させているのを目の当たりにする...目の前にスクリーンがなかったら、本当にその場にいるような気分になるでしょう。今年の CES 展示会で、Nvidia はインテリジェント エンジン Avatar Cloud Engine (ACE) を使用してゲームの NPC を「生きた」ものにし、大きな衝撃を与えました。 △CESに展示されるインテリジェントなNPCにはACEが採用されており、事前にスクリプトを用意することなく、ゲーム内のキャラクターが生き生きとした表情や体の動きを見せながら、プレイヤーとリアルな音声会話を行うことができます。デビュー当時はUbisoft、Tencent、NetEase、MiHoYoなどが存在しました。

エンジンの状況の変化: 3 気筒エンジンが 6 気筒と 8 気筒の優位性に挑戦 エンジンの状況の変化: 3 気筒エンジンが 6 気筒と 8 気筒の優位性に挑戦 Oct 08, 2023 pm 10:57 PM

10月8日のニュースによると、米国の自動車市場は水面下で変化を遂げており、これまで親しまれてきた6気筒や8気筒エンジンが徐々にその優位性を失い、3気筒エンジンが台頭しつつあるという。 10月8日のニュースは、米国の自動車市場が水面下で変化を遂げていることを示した。かつて愛された6気筒や8気筒エンジンは徐々にその優位性を失い、3気筒エンジンが台頭し始めているが、アメリカ人の多くの心の中には大排気量モデルが大好きで「アメリカンビッグV8」というイメージがある。常にアメリカ車の代名詞であり続けています。しかし、最近海外メディアが発表したデータによると、米国の自動車市場の状況は大きく変化しており、水面下での争いは激化している。 2019 年以前は、米国が

PHP Webテンプレートエンジンの使い方とFAQ PHP Webテンプレートエンジンの使い方とFAQ Jun 08, 2023 pm 12:23 PM

インターネット技術の継続的な発展に伴い、Web テンプレート エンジンは Web サイト開発に不可欠な部分になりました。 PHP Web ページ テンプレート エンジンは、一般的に使用される Web ページ テンプレート エンジンの 1 つです。この記事では、PHP Web テンプレート エンジンの使用方法とよくある質問への回答を紹介します。 1. PHP Web テンプレート エンジンとは何ですか? PHP Web テンプレート エンジンは、Web デザインをビジネス ロジックから分離するテクノロジーです。テンプレート エンジンを使用すると、Web ページの表示と論理処理を分離できるため、コードがクリーンで明確になり、保守が容易になります。 PHP Webテンプレートエンジンとオリジナル

SAS が Oracle データベースに接続する際のエンジンの問題を解決する SAS が Oracle データベースに接続する際のエンジンの問題を解決する Mar 08, 2024 am 10:12 AM

SAS が Oracle データベースに接続するときにエンジンの問題を解決するには、特定のコード例が必要です。SA​​S ソフトウェアをデータ分析に使用する場合、多くの場合、分析と処理のためのデータを取得するためにデータベースに接続する必要があります。その中でも、Oracle データベースへの接続は比較的一般的な操作です。ただし、Oracle データベースに接続するときにエンジンの問題が発生し、接続が失敗したり、正常に動作しなくなる場合があります。この記事では、SAS ソフトウェアで Oracle データベースに接続する際のエンジンの問題を解決する方法と、具体的なコードを紹介します。

SAS が Oracle エンジンを見つけられない問題を解決する SAS が Oracle エンジンを見つけられない問題を解決する Mar 08, 2024 pm 12:21 PM

SAS が Oracle エンジンを見つけられないという問題を解決するには、特定のコード例が必要です。SA​​S ソフトウェアを使用してデータ処理と分析を行う場合、外部データベースに接続する必要がある状況がよくありますが、その中で Oracle データベースが一般的に選択されます。 。ただし、Oracle データベースに接続しようとすると、SAS から Oracle エンジンが見つからないというメッセージが表示され、作業に問題が生じることがあります。この記事では、SAS が Oracle エンジンを見つけられない問題を解決する方法と、具体的なサービスを提供する方法を紹介します。

Gmail の父: ChatGPT があれば、検索エンジンは 2 年以上存続しないだろう Gmail の父: ChatGPT があれば、検索エンジンは 2 年以上存続しないだろう Apr 14, 2023 pm 01:22 PM

ChatGPT が誕生した日から、Microsoft は幸運を感じているはずです。数年前に投資した10億ドルが無駄ではなかったのは嬉しいことですが。さらに重要なのは、ChatGPT は敵ではなく友軍です。他の大手テクノロジー企業、特にマイクロソフトの古くからのライバルであるグーグルの雰囲気は非常に複雑だ。 Googleのベテラン社員であり、Gmailの開発者の一人であるPaul Buchheit氏は最近、検索エンジンがイエローページの電話帳を完全に消し去ったのと同じように、ChatGPTのような人工知能チャットボットがGoogleを破壊するだろうと語った。時期としては、ほんの1~2年程度です。ブッフハイト氏は水曜日、「Googleが完全に混乱するまでには1~2年しかかからないかもしれない。AIはたとえその後であっても検索エンジンの結果ページを一掃するだろう」とツイートした。

See all articles