0

0

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

php中文网

php中文网

发布时间:2016-05-30 17:10:48

|

1419人浏览过

|

来源于php中文网

原创

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

Scribble Diffusion
Scribble Diffusion

使用AI将你的草图变成精致的图像

下载

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/

 

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法
苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法

本专题汇总苹果官网最新可用入口及中国站点访问方式,涵盖官网直达链接、iPhone官方页面查看方法与常见访问说明,帮助用户快速进入苹果官方网站,便捷了解产品信息与官方服务。

2

2026.02.24

Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址
Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址

本专题系统整理Asianfanfics(AFF)官方网站最新可用入口,涵盖官方平台最新直达地址、官网登录方式及中文访问指引,帮助用户快速、安全地进入AFF平台浏览与使用相关内容。

0

2026.02.24

Go分布式服务治理与链路追踪实践
Go分布式服务治理与链路追踪实践

本专题围绕 Go 语言在分布式系统中的服务治理实践展开,系统讲解服务注册与发现、配置中心、限流熔断、灰度发布以及分布式链路追踪方案。通过完整项目示例,帮助开发者构建可观测性完善、稳定性高、易扩展的 Go 微服务架构体系,提升线上系统问题定位与运维效率。

0

2026.02.24

Python自动化测试与持续集成实战
Python自动化测试与持续集成实战

本专题聚焦 Python 在自动化测试与持续集成中的工程化实践,系统讲解测试框架选型、测试用例设计、接口自动化、测试数据管理及测试报告生成。结合 CI/CD 流水线场景,讲解如何将自动化测试融入持续集成流程,实现代码提交即自动测试,提升项目交付质量与团队协作效率。

0

2026.02.24

Java高并发系统设计与性能调优
Java高并发系统设计与性能调优

本专题围绕 Java 在高并发业务场景下的系统设计与性能调优展开,系统讲解线程模型、并发容器、锁机制、异步编程及 JVM 性能调优思路。结合真实高并发业务场景,深入分析接口限流、线程池配置、热点资源优化与系统稳定性保障方案,帮助开发者构建高性能、高可用的 Java 后端系统。

3

2026.02.24

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1250

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

402

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

252

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

39

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 5.4万人学习

ASP 教程
ASP 教程

共34课时 | 5.3万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号