Creación de una copia de seguridad de MySQL con la utilidad XtraBackup

Percona XtraBackup  es una utilidad de respaldo en caliente para  bases de datos MySQL .

No se produce ningún bloqueo de la tabla durante la copia de seguridad de los datos, su sistema continúa funcionando sin restricciones.

XtraBackup 2.4  puede realizar copias de seguridad de tablas  InnoDBXtraDB  y  MyISAM  en servidores  MySQL 5.11, 5.5, 5.6 y 5.7 , así como  Percona  para  MySQL  con  XtraDB .

Para trabajar con  MySQL 8.x  , debe usar  XtraBackup 8.x. Este artículo solo hablará sobre  XtraBackup 2.4.

La principal ventaja de  XtraBackup  es que esta utilidad es adecuada tanto para realizar copias de seguridad de servidores muy cargados como de sistemas con un número reducido de transacciones.

Si el tamaño total de sus bases de datos MySQL es significativo (decenas de gigabytes), la utilidad estándar  mysqldump  no le permitirá crear rápidamente una copia de seguridad y la restauración del volcado llevará mucho tiempo.

Instalación

Instalación de  XtraBackup  desde el repositorio de  apt  Percona.

Ejecute los siguientes comandos en secuencia:

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 . Después de la instalación, ejecute el comando  xtrabackup -v. Dado que, es importante asegurarse de que la utilidad funcione correctamente en el servidor. Como resultado, se mostrará algo similar en la pantalla:

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 .

  • Vacíe la carpeta  datadir  o mueva su contenido a otra ubicación. El directorio  datadir  debe estar vacío.

Una vez que los datos se han transferido a  datadir,  se puede iniciar el servidor MySQL.

Materiales usados

Documentación oficial de Percona XtraBackup .




All Articles