Erstellen eines MySQL-Backups mit dem XtraBackup-Dienstprogramm

Percona XtraBackup  ist ein Hot-Backup-Dienstprogramm fĂĽr  MySQL-Datenbanken .

Während der Datensicherung tritt keine Tabellensperre auf. Ihr System arbeitet ohne Einschränkungen weiter.

XtraBackup 2.4  kann bis zurĂĽck InnoDBXtraDB  und  MyISAM - Tabellen   auf MySQL 5.11, 5.5, 5.6 und 5.7 Server  sowie  Percona  fĂĽr  MySQL  mit  XtraDB .

Um mit  MySQL 8.x zu arbeiten  , sollten Sie  XtraBackup 8.x verwenden. Dieser Artikel konzentriert sich nur auf  XtraBackup 2.4.

Der Hauptvorteil von  XtraBackup  besteht darin, dass dieses Dienstprogramm sowohl zum Sichern hoch ausgelasteter Server als auch von Systemen mit einer geringen Anzahl von Transaktionen geeignet ist.

Wenn die Gesamtgröße Ihrer MySQL-Datenbanken erheblich ist (zig Gigabyte), können Sie mit dem Standarddienstprogramm mysqldump  nicht schnell ein Backup erstellen, und das Wiederherstellen des Speicherauszugs  dauert lange.

Installation

Installieren von  XtraBackup  aus dem apt  Percona- Repository  .

FĂĽhren Sie die folgenden Befehle nacheinander aus:

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb

sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

sudo apt-get update 

sudo apt-get install percona-xtrabackup-24

2 . FĂĽhren Sie nach der Installation den Befehl aus  xtrabackup -v. Da ist es wichtig sicherzustellen, dass das Dienstprogramm auf dem Server ordnungsgemäß funktioniert. Infolgedessen wird auf dem Bildschirm etwas Ă„hnliches angezeigt:

xtrabackup: recognized server arguments: — datadir=/var/lib/mysql — tmpdir=/tmp — server-id=1 — logbin=/var/log/mysql/mysql-bin.log — innodbbufferpoolsize=16384M — innodbfilepertable=1 — innodbflushmethod=Odirect — innodbflushlogattrxcommit=0xtrabackup version 2.4.20 based on MySQL server 5.7.26 Linux (x8664) (revision id: c8b4056)

,  

XtraBackup :

  • MySQL.

  •  datadir

  •  target-dir .

datadir?

datadir â€” ,  MySQL  . , . Linux  /var/lib/mysql.

target-dir ?

target-dir â€” , .

, :

  • RELOAD LOCK TABLES

  • REPLICATION CLIENT

  • CREATE TABLESPACE

  • PROCESS

  • SUPER

  • CREATE

  • INSERT

  • SELECT

 

XtraBackup , , MySQL.

?

, ,  /etc/my.cnf.

XtraBackup  [mysqld]  [xtrabackup]  MySQL. , .

,  datadir   InnoDB XtraBackup  .

XtraBackup ,  [mysqld],  [xtrabackup]. , .

my.cnf. . ,  [xtrabackup]  my.cnf â€”  target_dir, , . .

 my.cnf:

[xtrabackup]
target_dir = /data/backups/mysql/

:

#!/bin/bash

#     
rm -rf /mysql/backup

# C 
xtrabackup --user=xtrabackup \
 --password=xxxx_SECRET_xxxx \
 --backup \
 --target-dir=/mysql/backup

#     
xtrabackup --prepare --target-dir=/mysql/backup

#  
tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-"$(date +%F-%H:%M:%S)".gz /mysql/backup

?

() , :

rm -rf /mysql/backup.

,  XtraBackup   /mysql/backup/:

xtrabackup --user=xtrabackup --password=xxxxz1cYf95550Gc6xxxxxxxpE3rB03xxxx --backup --target-dir=/mysql/backup

MySQL xtrabackup . target-dir , .

!

:

xtrabackup --prepare --target-dir=/mysql/backup

/mysql/backup , . 

, .  xtrabackup --prepare --target-dir=/mysql/backup .

. , . .

, — , :

tar -zcvf /home/developer/dumps/xtrabackup-all-dbs-«$(date % F% H% M% S)».gz /mysql/backup

 

. .

.  datadir.

datadir?

.

1

 XtraBackup.  --copy-bak

 datadir  :

xtrabackup --copy-back --target-dir=/mysql/backup

2

,  XtraBackup.

, —  datadir.  cp  rsync.

,  datadir.

, :

  • MySQL .

  • Leeren Sie den Datadir- Ordner   oder verschieben Sie seinen Inhalt an einen anderen Speicherort. Das  Datenverzeichnis  muss leer sein.

Sobald die Daten an  datadir ĂĽbertragen wurden, kann der  MySQL-Server gestartet werden.

Verwendete Materialien

Offizielle Dokumentation von Percona XtraBackup .




All Articles