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  InnoDB ,  XtraDB  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