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