Création d'une sauvegarde MySQL à l'aide de l'utilitaire XtraBackup

Percona XtraBackup  est un utilitaire de sauvegarde Ă  chaud pour les  bases de donnĂ©es MySQL .

Aucun verrouillage de table ne se produit pendant la sauvegarde des données, votre systÚme continue de fonctionner sans aucune restriction.

XtraBackup 2.4  peut sauvegarder les tables  InnoDBXtraDB  et  MyISAM  sur les serveurs  MySQL 5.11, 5.5, 5.6 et 5.7 , ainsi que  Percona  pour  MySQL  avec  XtraDB .

Pour travailler avec  MySQL 8.x  , vous devez utiliser  XtraBackup 8.x. Cet article ne parlera que de  XtraBackup 2.4.

Le principal avantage de  XtraBackup  est que cet utilitaire convient Ă  la fois Ă  la sauvegarde de serveurs trĂšs chargĂ©s et de systĂšmes avec un faible nombre de transactions.

Si la taille totale de vos bases de donnĂ©es MySQL est importante (dizaines de gigaoctets), alors l'utilitaire mysqldump standard   ne vous permettra pas de crĂ©er rapidement une sauvegarde, et la restauration du dump prendra du temps.

Installation

Installation de  XtraBackup Ă   partir du rĂ©fĂ©rentiel  apt  Percona.

Exécutez les commandes suivantes dans l'ordre:

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 . AprĂšs l'installation, exĂ©cutez la commande  xtrabackup -v. Depuis, il est important de s'assurer que l'utilitaire fonctionne correctement sur le serveur. En consĂ©quence, quelque chose de similaire sera affichĂ© Ă  l'Ă©cran:

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 .

  • Videz le dossier  datadir  ou dĂ©placez son contenu vers un autre emplacement. Le rĂ©pertoire  datadir  doit ĂȘtre vide.

Une fois les donnĂ©es transfĂ©rĂ©es vers  datadir, le  serveur MySQL peut ĂȘtre dĂ©marrĂ©.

Les matériaux utilisés

Documentation officielle de Percona XtraBackup .




All Articles