Home Database Mysql Tutorial 实战:percona-xtrabackup2.1.9formysql5.6.19

实战:percona-xtrabackup2.1.9formysql5.6.19

Jun 07, 2016 pm 03:57 PM
Actual combat

----1.编译安装percona-xtrabackup yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr \ bison libtool ncurses-devel zlib-devel libgcrypt-devel wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.9/source/perc

----1.编译安装percona-xtrabackup

yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr \
bison libtool ncurses-devel zlib-devel libgcrypt-devel

wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.9/source/percona-xtrabackup-2.1.9.tar.gz

tar xvzf percona-xtrabackup-2.1.9.tar.gz

mkdir -p /usr/local/xtrabackup/

mv percona-xtrabackup-2.1.9 /usr/local/xtrabackup/

cd /usr/local/xtrabackup/percona-xtrabackup-2.1.9

AUTO_DOWNLOAD="yes" ./utils/build.sh innodb56

/*****重新安装需要
rm -rf /usr/bin/innobackupex
rm -rf /usr/bin/xtrabackup

***********/

cp innobackupex /usr/bin/

cp src/xtrabackup_56 /usr/bin/

ln -s /usr/local/mysql/bin/* /usr/bin/

---2.安装相关插件

wget http://www.percona.com/downloads/percona-toolkit/LATEST/RPM/percona-toolkit-2.2.8-1.noarch.rpm

yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL

rpm -ivh percona-toolkit-2.2.8-1.noarch.rpm


*****************************************************************
普通备份和还原
*****************************************************************

----1.备份
create table t1
(
sid int not null ,
sname varchar(100) not null
)engine=innodb charset=gbk ;

DELIMITER //
create PROCEDURE proc1()
BEGIN
DECLARE i int DEFAULT 0;
set i=1 ;
set autocommit=0;
WHILE i INSERT INTO t1 values(i,'我');
set i=i+1;
END WHILE;
commit;
set autocommit=1;
END
//
DELIMITER ;

call proc1;

---2.备份数据

innobackupex --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--port=3306 /backup
---3.恢复数据

service mysql stop

mv /usr/local/mysql/data/innodb_data/ /wind/

cp -rvf innodb_data/ /wind/

----datadir数据目录和日志目录需要为空

rm -rf /usr/local/mysql/innodb_data/*
rm -rf /usr/local/mysql/data/*
rm -rf /usr/local/mysql/mysql_logs/innodb_log/*

----4.准备日志(默认使用内存100M)

innobackupex --ibbackup=xtrabackup_56 --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--apply-log --use-memory=4G /backup/2014-06-06_10-27-47

----5.还原数据库

innobackupex --ibbackup=xtrabackup_56 --defaults-file=/usr/local/mysql/my.cnf --copy-back /backup/2014-06-06_10-27-47

还原前数据文件和事务日志文件包括innodb的日志都需要删除.根据/et/my.cnf来确定MySQL的数据位置

---6.权限设置

chown -R mysql:mysql /usr/local/mysql/

service mysql start

*****************************************************************
增量备份和还原
*****************************************************************

----1.准备数据

create database wind;

use wind;
create table t1
(
sid int not null ,
sname varchar(100) not null
)engine=innodb charset=gbk ;
DELIMITER //
create PROCEDURE proc1()
BEGIN
DECLARE i int DEFAULT 0;
set i=1 ;
set autocommit=0;
WHILE i INSERT INTO t1 values(i,'我');
set i=i+1;
END WHILE;
commit;
set autocommit=1;
END
//
DELIMITER ;

call proc1;

---2.全备数据

mkdir -p /backup/full

innobackupex --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--port=3306 /backup/full

----3.改变数据

create table t2
(
sid int not null ,
sname varchar(100) not null
)engine=innodb charset=gbk ;

DELIMITER //
create PROCEDURE proc2()
BEGIN
DECLARE i int DEFAULT 0;
set i=1 ;
set autocommit=0;
WHILE i INSERT INTO t2 values(i,'今天是个好日子');
set i=i+1;
END WHILE;
commit;
set autocommit=1;
END
//
DELIMITER ;

call proc2;

----4.增量备份

mkdir -p /backup/incre

innobackupex --use-memory=4G --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--port=3306 --incremental /backup/incre --incremental-basedir=/backup/full/2014-06-06_12-26-10

---3.恢复数据

service mysql stop

mv /usr/local/mysql/data/innodb_data/ /wind/

cp -rvf innodb_data/ /wind/

----datadir数据目录和日志目录需要为空

rm -rf /usr/local/mysql/innodb_data/*
rm -rf /usr/local/mysql/data/*
rm -rf /usr/local/mysql/mysql_logs/innodb_log/* 

----4.准备日志(默认使用内存100M)

---4.1 Prepare完整备份集

/*语法: innobackupex --apply-log --redo-only BASE-DIR */


innobackupex --ibbackup=xtrabackup_56 --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--apply-log --redo-only /backup/full/2014-06-06_12-26-10 --use-memory=4G

---4.2 Prepare增量备份集

/*语法:innobackupex --apply-log --redo-only BASE-DIR --incremental-dir= */

innobackupex --ibbackup=xtrabackup_56 --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--apply-log --redo-only /backup/full/2014-06-06_12-26-10 --incremental-dir=/backup/incre/2014-06-06_12-38-16 \
--use-memory=4G

---4.3再次prepare全备集,回滚那些未提交的事务
/*语法: innobackupex --apply-log BASE-DIR */

innobackupex --ibbackup=xtrabackup_56 --user=root --password=password --defaults-file=/usr/local/mysql/my.cnf \
--apply-log /backup/full/2014-06-06_12-26-10 --use-memory=4G

----5.还原数据库

innobackupex --ibbackup=xtrabackup_56 --defaults-file=/usr/local/mysql/my.cnf \
--copy-back /backup/full/2014-06-06_12-26-10

还原前数据文件和事务日志文件包括innodb的日志都需要删除.根据/et/my.cnf来确定MySQL的数据位置

---6.权限设置

chown -R mysql:mysql /usr/local/mysql/

---7.启动mysql

service mysql start

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1253
24
PHP Practical: Code Example to Quickly Implement Fibonacci Sequence PHP Practical: Code Example to Quickly Implement Fibonacci Sequence Mar 20, 2024 pm 02:24 PM

PHP Practice: Code Example to Quickly Implement the Fibonacci Sequence The Fibonacci Sequence is a very interesting and common sequence in mathematics. It is defined as follows: the first and second numbers are 0 and 1, and from the third Starting with numbers, each number is the sum of the previous two numbers. The first few numbers in the Fibonacci sequence are 0,1,1.2,3,5,8,13,21,...and so on. In PHP, we can generate the Fibonacci sequence through recursion and iteration. Below we will show these two

Java development practice: Integrating Qiniu cloud storage service to achieve file upload Java development practice: Integrating Qiniu cloud storage service to achieve file upload Jul 06, 2023 pm 06:22 PM

Java Development Practice: Integrating Qiniu Cloud Storage Service to Implement File Upload Introduction With the development of cloud computing and cloud storage, more and more applications need to upload files to the cloud for storage and management. The advantages of cloud storage services are high reliability, scalability and flexibility. This article will introduce how to use Java language development, integrate Qiniu cloud storage service, and implement file upload function. About Qiniu Cloud Qiniu Cloud is a leading cloud storage service provider in China, providing comprehensive cloud storage and content distribution services. Users can use Qiniu Yunti

In-depth study of Elasticsearch query syntax and practical combat In-depth study of Elasticsearch query syntax and practical combat Oct 03, 2023 am 08:42 AM

In-depth study of Elasticsearch query syntax and practical introduction: Elasticsearch is an open source search engine based on Lucene. It is mainly used for distributed search and analysis. It is widely used in full-text search of large-scale data, log analysis, recommendation systems and other scenarios. When using Elasticsearch for data query, flexible use of query syntax is the key to improving query efficiency. This article will delve into the Elasticsearch query syntax and give it based on actual cases.

MySQL table design practice: Create an e-commerce order table and product review table MySQL table design practice: Create an e-commerce order table and product review table Jul 03, 2023 am 08:07 AM

MySQL table design practice: Create an e-commerce order table and product review table. In the database of the e-commerce platform, the order table and product review table are two very important tables. This article will introduce how to use MySQL to design and create these two tables, and give code examples. 1. Design and creation of order table The order table is used to store the user's purchase information, including order number, user ID, product ID, purchase quantity, order status and other fields. First, we need to create a table named "order" using CREATET

Golang dynamic library practice: case sharing and practical skills Golang dynamic library practice: case sharing and practical skills Mar 01, 2024 am 08:30 AM

Golang dynamic library practice: case sharing and practical skills In Golang (Go language), using dynamic libraries can achieve functions such as modular development, code reuse, and dynamic loading. This article will introduce how to use dynamic libraries in Golang through case sharing and practical tips, and how to use dynamic libraries to improve the flexibility and maintainability of code. What is a dynamic library A dynamic library is a file that contains functions and data that can be loaded at runtime. Unlike static libraries that need to be linked into the application at compile time, dynamic libraries can be

Golang Practical Combat: Sharing of Implementation Tips for Data Export Function Golang Practical Combat: Sharing of Implementation Tips for Data Export Function Feb 29, 2024 am 09:00 AM

The data export function is a very common requirement in actual development, especially in scenarios such as back-end management systems or data report export. This article will take the Golang language as an example to share the implementation skills of the data export function and give specific code examples. 1. Environment preparation Before starting, make sure you have installed the Golang environment and are familiar with the basic syntax and operations of Golang. In addition, in order to implement the data export function, you may need to use a third-party library, such as github.com/360EntSec

Teach you step by step how to subcontract uniapp and mini programs (pictures and text) Teach you step by step how to subcontract uniapp and mini programs (pictures and text) Jul 22, 2022 pm 04:55 PM

This article brings you relevant knowledge about uniapp cross-domain, and introduces issues related to subcontracting of uniapp and mini programs. Each mini program that uses subcontracting must contain a main package. The so-called main package is where the default startup page/TabBar page is placed, and some public resources/JS scripts are required for all sub-packages; while sub-packages are divided according to the developer's configuration. I hope it will be helpful to everyone.

Vue practice: date picker component development Vue practice: date picker component development Nov 24, 2023 am 09:03 AM

Vue Practical Combat: Date Picker Component Development Introduction: The date picker is a component often used in daily development. It can easily select dates and provides various configuration options. This article will introduce how to use the Vue framework to develop a simple date picker component and provide specific code examples. 1. Requirements analysis Before starting development, we need to conduct a requirements analysis to clarify the functions and characteristics of the components. According to the common date picker component functions, we need to implement the following function points: Basic functions: able to select dates, and

See all articles