Heim Datenbank MySQL-Tutorial 实战:percona-xtrabackup2.1.9formysql5.6.19

实战:percona-xtrabackup2.1.9formysql5.6.19

Jun 07, 2016 pm 03:57 PM
实战

----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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-Praxis: Codebeispiel zur schnellen Implementierung der Fibonacci-Folge PHP-Praxis: Codebeispiel zur schnellen Implementierung der Fibonacci-Folge Mar 20, 2024 pm 02:24 PM

PHP-Übung: Codebeispiel zur schnellen Implementierung der Fibonacci-Folge Die Fibonacci-Folge ist eine sehr interessante und häufig vorkommende Folge in der Mathematik. Sie ist wie folgt definiert: Die erste und zweite Zahl sind 0 und 1, und ab der dritten Zahl beginnt jede Zahl ist die Summe der beiden vorherigen Zahlen. Die ersten Zahlen in der Fibonacci-Folge sind 0,1,1,2,3,5,8,13,21 usw. In PHP können wir die Fibonacci-Folge durch Rekursion und Iteration generieren. Im Folgenden zeigen wir diese beiden

Bringen Sie Ihnen Schritt für Schritt bei, wie Sie Uniapp- und Mini-Programme an Subunternehmer vergeben (Bilder und Text). Bringen Sie Ihnen Schritt für Schritt bei, wie Sie Uniapp- und Mini-Programme an Subunternehmer vergeben (Bilder und Text). Jul 22, 2022 pm 04:55 PM

Dieser Artikel vermittelt Ihnen relevantes Wissen über domänenübergreifende Uniapp-Programme und stellt Fragen im Zusammenhang mit der Untervergabe von Uniapp- und Miniprogrammen vor. Jedes Miniprogramm, das Untervergabe verwendet, muss ein Hauptpaket enthalten. Im sogenannten Hauptpaket werden die Standard-Startseite/TabBar-Seite sowie einige öffentliche Ressourcen/JS-Skripte platziert, die alle Unterpakete verwenden müssen, während die Unterpakete hoffentlich entsprechend der Konfiguration des Entwicklers unterteilt sind es wird für alle hilfreich sein.

Golang Practical Combat: Austausch von Implementierungstipps für die Datenexportfunktion Golang Practical Combat: Austausch von Implementierungstipps für die Datenexportfunktion Feb 29, 2024 am 09:00 AM

Die Datenexportfunktion ist eine sehr häufige Anforderung in der tatsächlichen Entwicklung, insbesondere in Szenarien wie Back-End-Managementsystemen oder dem Export von Datenberichten. In diesem Artikel wird die Golang-Sprache als Beispiel verwendet, um die Implementierungsfähigkeiten der Datenexportfunktion zu teilen und spezifische Codebeispiele zu geben. 1. Vorbereitung der Umgebung Bevor Sie beginnen, stellen Sie sicher, dass Sie die Golang-Umgebung installiert haben und mit der grundlegenden Syntax und Funktionsweise von Golang vertraut sind. Darüber hinaus müssen Sie zur Implementierung der Datenexportfunktion möglicherweise eine Bibliothek eines Drittanbieters verwenden, z. B. github.com/360EntSec

MySQL-Tabellendesign-Praxis: Erstellen Sie eine E-Commerce-Bestelltabelle und eine Produktbewertungstabelle MySQL-Tabellendesign-Praxis: Erstellen Sie eine E-Commerce-Bestelltabelle und eine Produktbewertungstabelle Jul 03, 2023 am 08:07 AM

MySQL-Tabellenentwurfspraxis: Erstellen Sie eine E-Commerce-Bestelltabelle und eine Produktbewertungstabelle. In der Datenbank der E-Commerce-Plattform sind die Bestelltabelle und die Produktbewertungstabelle zwei sehr wichtige Tabellen. In diesem Artikel wird erläutert, wie Sie MySQL zum Entwerfen und Erstellen dieser beiden Tabellen verwenden, und es werden Codebeispiele aufgeführt. 1. Entwurf und Erstellung der Bestelltabelle Die Bestelltabelle dient zum Speichern der Kaufinformationen des Benutzers, einschließlich Bestellnummer, Benutzer-ID, Produkt-ID, Kaufmenge, Bestellstatus und anderer Felder. Zuerst müssen wir mit CREATET eine Tabelle mit dem Namen „order“ erstellen

Java-Entwicklungspraxis: Integration des Qiniu-Cloud-Speicherdienstes zum Erreichen des Datei-Uploads Java-Entwicklungspraxis: Integration des Qiniu-Cloud-Speicherdienstes zum Erreichen des Datei-Uploads Jul 06, 2023 pm 06:22 PM

Java-Entwicklungspraxis: Integration des Qiniu-Cloud-Speicherdienstes zur Implementierung des Datei-Uploads Einführung Mit der Entwicklung von Cloud Computing und Cloud-Speicher müssen immer mehr Anwendungen Dateien zur Speicherung und Verwaltung in die Cloud hochladen. Die Vorteile von Cloud-Speicherdiensten sind hohe Zuverlässigkeit, Skalierbarkeit und Flexibilität. In diesem Artikel wird erläutert, wie Sie die Java-Sprachentwicklung verwenden, den Cloud-Speicherdienst Qiniu integrieren und die Funktion zum Hochladen von Dateien implementieren. Über Qiniu Cloud Qiniu Cloud ist ein führender Anbieter von Cloud-Speicherdiensten in China, der umfassende Cloud-Speicher- und Inhaltsverteilungsdienste anbietet. Benutzer können Qiniu Yunti verwenden

Eingehende Untersuchung der Elasticsearch-Abfragesyntax und praktischer Kampf Eingehende Untersuchung der Elasticsearch-Abfragesyntax und praktischer Kampf Oct 03, 2023 am 08:42 AM

Eingehende Untersuchung der Elasticsearch-Abfragesyntax und praktische Einführung: Elasticsearch ist eine auf Lucene basierende Open-Source-Suchmaschine. Sie wird hauptsächlich für die verteilte Suche und Analyse verwendet. Sie wird häufig bei der Volltextsuche großer Datenmengen und bei der Protokollanalyse verwendet , Empfehlungssysteme und andere Szenarien. Bei der Verwendung von Elasticsearch für Datenabfragen ist die flexible Verwendung der Abfragesyntax der Schlüssel zur Verbesserung der Abfrageeffizienz. Dieser Artikel befasst sich mit der Elasticsearch-Abfragesyntax und stellt sie anhand tatsächlicher Fälle dar.

Werden Sie ein Go-Sprachmeister: Lernpfade und praktischer Erfahrungsaustausch Werden Sie ein Go-Sprachmeister: Lernpfade und praktischer Erfahrungsaustausch Mar 04, 2024 am 10:12 AM

Werden Sie ein Go-Sprachmeister: Teilen Sie Lernpfade und praktische Erfahrungen. Die Go-Sprache wird seit ihrer Geburt von Entwicklern bevorzugt. Ihre Einfachheit, Effizienz und hervorragende Parallelitätsleistung haben immer mehr Entwickler dazu gebracht, sich dem Lernen und der Anwendung der Go-Sprache anzuschließen. In diesem Artikel erfahren Sie, wie Sie zum Meister der Go-Sprache werden. Gleichzeitig stellen wir Ihnen in Kombination mit praktischer Erfahrung einige Codebeispiele als Referenz zur Verfügung. Lernpfad 1. Grundkenntnisse erlernen Egal beim Erlernen einer Sprache, das erste, was man beherrschen muss, ist das Grundwissen. Die Grundkenntnisse der Go-Sprache umfassen hauptsächlich Datentypen,

Vue-Praxis: Entwicklung von Datumsauswahlkomponenten Vue-Praxis: Entwicklung von Datumsauswahlkomponenten Nov 24, 2023 am 09:03 AM

Vue Practical Combat: Datumsauswahl-Komponentenentwicklung Einführung: Die Datumsauswahl ist eine Komponente, die häufig in der täglichen Entwicklung verwendet wird. Sie kann Daten einfach auswählen und bietet verschiedene Konfigurationsoptionen. In diesem Artikel wird erläutert, wie Sie mit dem Vue-Framework eine einfache Datumsauswahlkomponente entwickeln und spezifische Codebeispiele bereitstellen. 1. Anforderungsanalyse Vor Beginn der Entwicklung müssen wir eine Anforderungsanalyse durchführen, um die Funktionen und Eigenschaften der Komponenten zu klären. Gemäß den allgemeinen Funktionen der Datumsauswahlkomponente müssen wir die folgenden Funktionspunkte implementieren: Grundfunktionen: können Daten auswählen und

See all articles