MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install)_MySQL
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、下载安装
安装:
[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/

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Redmi secara rasmi hari ini mengumumkan bahawa Redmi GPro 2024 baharu akan dikeluarkan secara rasmi pada 4 Mac. Dalam erti kata lain, minggu depan kami akan mengeluarkan produk baharu yang menarik ini. RedmiGPro2024 membuat debut penuhnya sebagai perdana e-sukan, menyepadukan dengan mendalam keupayaan industri telefon mudah alih ke dalam perniagaan notebook, mempersembahkan keluaran prestasi super 210W dan prestasi Redmi mencapai tahap tertinggi baharu. Dilengkapi dengan pemproses i9-14900HX dan kad grafik RTX4060, ia menggabungkan e-sukan dan penciptaan dengan sempurna untuk mencapai evolusi dwi. Dari sudut pandangan ini, prestasi produk baru ini akan dipertingkatkan lagi, dan kesan sebenar adalah mengujakan. Telah disebut dalam pemanasan rasmi bahawa Redmi G Pro 2024 baharu membawakan versi PC enjin ganas. Pemerkasaan teknologi telefon mudah alih, tiga faktor utama memimpin

NPC pintar yang dicipta oleh Ahli Akademik Huang dalam "Cyberpunk 2077" sudah boleh berbahasa Cina? Pengalaman tangan pertama Qubit, menyaksikan NPC bercakap dengan fasih dalam bahasa Cina dan Inggeris, dengan ekspresi dan pergerakan semula jadi, dan bentuk mulut yang sepadan... Jika tidak ada skrin di hadapan saya, rasanya seperti berada di sana. Pada pameran CES tahun ini, Nvidia menggunakan enjin pintarnya Avatar Cloud Engine (ACE) untuk menjadikan NPC permainan "hidup", yang menyebabkan agak mengejutkan. △NPC pintar yang dipaparkan di CES menggunakan ACE Watak dalam permainan boleh mempunyai perbualan suara yang realistik dengan pemain, sambil menunjukkan ekspresi dan pergerakan badan yang jelas tanpa perlu menyediakan skrip terlebih dahulu. Pada masa debutnya, terdapat Ubisoft, Tencent, NetEase, MiHoYo dan negara lain.

Pencahayaan global masa nyata (GI masa nyata) sentiasa menjadi grail suci grafik komputer. Selama bertahun-tahun, industri telah mencadangkan pelbagai kaedah untuk menyelesaikan masalah ini. Kaedah biasa termasuk mengekang domain masalah dengan menggunakan andaian tertentu, seperti geometri statik, perwakilan pemandangan kasar, atau mengesan kuar kasar dan interpolasi pencahayaan antara keduanya. Dalam Enjin Unreal, sistem pencahayaan dan pantulan global teknologi Lumen diasaskan oleh Krzysztof Narkowicz dan Daniel Wright. Matlamatnya adalah untuk membina penyelesaian yang berbeza daripada pendahulunya, mampu mencapai pencahayaan seragam dan kualiti pencahayaan seperti bakar. Baru-baru ini, di SIGGRAPH 2022, Krzysztof Narko

Menurut berita pada 8 Oktober, pasaran kereta A.S. sedang mengalami perubahan di bawah hud Enjin kuasa enam silinder dan lapan silinder yang digemari sebelum ini secara beransur-ansur kehilangan penguasaannya, manakala enjin tiga silinder muncul. Berita pada 8 Oktober menunjukkan bahawa pasaran kereta A.S. sedang mengalami perubahan di bawah hud. Enjin kuasa enam silinder dan lapan silinder yang digemari pada masa lalu secara beransur-ansur kehilangan penguasaannya, dan enjin tiga silinder mula muncul Dalam fikiran kebanyakan orang, orang Amerika menyukai model anjakan besar, dan "American big V8". sentiasa sinonim dengan kereta Amerika. Bagaimanapun, menurut data yang dikeluarkan baru-baru ini oleh media asing, landskap pasaran kereta A.S. sedang mengalami perubahan yang besar, dan pertempuran di bawah hud semakin sengit. Difahamkan sebelum 2019, Amerika Syarikat

Dengan perkembangan teknologi Internet yang berterusan, enjin templat web telah menjadi bahagian yang amat diperlukan dalam pembangunan laman web. Enjin templat halaman web PHP adalah salah satu enjin templat halaman web yang biasa digunakan. Artikel ini akan memperkenalkan cara menggunakan enjin templat web PHP dan menjawab soalan lazim. 1. Apakah enjin templat web PHP? Enjin templat web PHP ialah teknologi yang memisahkan reka bentuk web daripada logik perniagaan. Menggunakan enjin templat boleh memisahkan paparan dan pemprosesan logik halaman web, menjadikan kod bersih, jelas dan mudah diselenggara. Enjin templat web PHP dan asli

Untuk menyelesaikan masalah enjin apabila SAS menyambung ke pangkalan data Oracle, contoh kod khusus diperlukan Apabila menggunakan perisian SAS untuk analisis data, selalunya perlu untuk menyambung ke pangkalan data untuk mendapatkan data untuk analisis dan pemprosesan. Antaranya, menyambung ke pangkalan data Oracle adalah operasi yang agak biasa. Walau bagaimanapun, kadangkala masalah enjin berlaku apabila menyambung ke pangkalan data Oracle, menyebabkan sambungan gagal atau tidak berfungsi dengan betul. Artikel ini akan memperkenalkan cara menyelesaikan masalah enjin apabila menyambung ke pangkalan data Oracle dalam perisian SAS, dan menyediakan kod khusus

Untuk menyelesaikan masalah bahawa SAS tidak dapat mencari enjin Oracle, contoh kod khusus diperlukan Apabila menggunakan perisian SAS untuk pemprosesan dan analisis data, kami sering menghadapi situasi di mana kami perlu menyambung ke pangkalan data luaran, yang mana pangkalan data Oracle adalah pilihan biasa. . Walau bagaimanapun, kadangkala apabila kami cuba menyambung ke pangkalan data Oracle, SAS menggesa bahawa enjin Oracle tidak dapat ditemui, yang membawa masalah kepada kerja kami. Artikel ini akan memperkenalkan cara menyelesaikan masalah yang SAS tidak dapat mencari enjin Oracle dan memberikan yang khusus

Sejak ChatGPT dilahirkan, Microsoft sepatutnya berasa bertuah. Selain gembira kerana $1 bilion yang saya laburkan beberapa tahun lalu tidak sia-sia. Lebih penting lagi, ChatGPT adalah pasukan yang mesra, bukan lawan. Suasana syarikat teknologi utama lain sangat rumit, terutamanya pesaing lama Microsoft, Google. Paul Buchheit, seorang pekerja veteran Google dan salah seorang pencipta Gmail, baru-baru ini berkata bahawa bot sembang kecerdasan buatan seperti ChatGPT akan memusnahkan Google, sama seperti enjin carian menghapuskan buku telefon halaman kuning sepenuhnya. Mengenai masa, ia hanya satu atau dua tahun. Buchheit tweet pada hari Rabu: "Ia mungkin hanya mengambil masa satu atau dua tahun untuk Google sepenuhnya terganggu. AI akan memadamkan halaman hasil enjin carian, walaupun selepas
