Criação de um backup do MySQL usando o utilitário XtraBackup

Percona XtraBackup  é um utilitário de backup dinâmico para  bancos de dados MySQL .

Nenhum bloqueio de tabela ocorre durante o backup de dados, seu sistema continua a operar sem quaisquer restrições.

XtraBackup 2.4  pode fazer backup de InnoDBXtraDB  e  MyISAM tabelas   no MySQL 5.11, 5.5, 5.6, e 5.7 servidores  , bem como Percona servidor   para  MySQL  com  XtraDB .

Para trabalhar com o  MySQL 8.x  , você deve usar o  XtraBackup 8.x. Este artigo vai falar apenas sobre o  XtraBackup 2.4.

A principal vantagem do  XtraBackup  é que esse utilitário é adequado para fazer backup de servidores altamente carregados e de sistemas com um baixo número de transações.

Se o tamanho total de seus bancos de dados MySQL for significativo (dezenas de gigabytes), o utilitário mysqldump padrão   não permitirá que você crie um backup rapidamente e a restauração do dump levará muito tempo.

Instalação

Instalando o  XtraBackup a  partir do repositório  apt  Percona.

Execute os seguintes comandos em sequência:

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 . Após a instalação, execute o comando  xtrabackup -v. Desde então, é importante certificar-se de que o utilitário funcione corretamente no servidor. Como resultado, algo semelhante será exibido na tela:

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 .

  • Esvazie a pasta  datadir  ou mova seu conteúdo para outro local. O diretório  datadir  deve estar vazio.

Assim que os dados forem transferidos para o  datadir, o  servidor MySQL pode ser iniciado.

Materiais utilizados

Documentação oficial do Percona XtraBackup .




All Articles