Al utilizar Mariabackup, tiene la opción de realizar una copia de seguridad completa o incremental. Las copias de seguridad completas crean una copia completa en un directorio vacío, mientras que las copias de seguridad incrementales actualizan una copia de seguridad anterior con nuevos datos. Esta página documenta las copias de seguridad incrementales.

Las páginas de InnoDB contienen números de secuencia de registro o LSN. Siempre que modifica una fila en cualquier tabla InnoDB en la base de datos, el motor de almacenamiento incrementa este número. Al realizar una copia de seguridad incremental, Mariabackup verifica el LSN más reciente para la copia de seguridad con los LSN contenidos en la base de datos. Luego actualiza cualquiera de los archivos de respaldo que se hayan quedado atrás.

Hacer una copia de seguridad del servidor de la base de datos

Para realizar una copia de seguridad incremental, primero debe realizar una copia de seguridad completa. Para realizar una copia de seguridad de la base de datos, debe ejecutar Mariabackup con el --backup opción para decirle que realice una copia de seguridad y con la --target-dir opción para indicarle dónde colocar los archivos de respaldo. Al realizar una copia de seguridad completa, el directorio de destino debe estar vacío o no debe existir.

Para realizar una copia de seguridad, ejecute el siguiente comando:

$ mariabackup --backup --target-dir=/var/mariadb/backup/ --user=mariabackup --password=mypassword

Esto hace una copia de seguridad de todas las bases de datos en el directorio de destino. /var/mariadb/backup. Si busca en ese directorio en el xtrabackup_checkpoints archivo, puede ver los datos LSN proporcionados por InnoDB.

Por ejemplo:

backup_type =full-backuped
from_lsn =0
to_lsn =1635102
last_lsn =1635102
recover_binlog_info =0

Hacer una copia de seguridad de los cambios incrementales

Una vez que haya creado una copia de seguridad completa en su sistema, también puede hacer una copia de seguridad de los cambios incrementales con la frecuencia que desee.

Para realizar una copia de seguridad incremental, debe ejecutar Mariabackup con el --backup opción para decirle que realice una copia de seguridad y con la --target-dir opción para indicarle dónde colocar los cambios incrementales. El directorio de destino debe estar vacío. También necesita ejecutarlo con el --incremental-basedir opción para indicarle la ruta a la copia de seguridad completa tomada anteriormente. Por ejemplo:

$ mariabackup --backup --target-dir=/var/mariadb/inc1/ --incremental-basedir=/var/mariadb/backup/ --user=mariabackup --password=mypassword

Este comando crea una serie de archivos delta que almacenan los cambios incrementales en /var/mariadb/inc1. Puedes encontrar un similar xtrabackup_checkpoints archivo en este directorio, con los valores LSN actualizados.

Por ejemplo:

backup_type =full-backuped
from_lsn =1635102
to_lsn =1635114
last_lsn =1635114
recover_binlog_info =0

Para realizar copias de seguridad incrementales adicionales, puede utilizar el directorio de destino de la copia de seguridad incremental anterior como directorio base incremental de la siguiente copia de seguridad incremental. Por ejemplo:

$ mariabackup --backup --target-dir=/var/mariadb/inc2/ --incremental-basedir=/var/mariadb/inc1/ --user=mariabackup --password=mypassword

Preparando la copia de seguridad

Siguiendo los pasos anteriores, tiene tres copias de seguridad en /var/mariadb: La primera es una copia de seguridad completa, las otras son incrementos en esta primera copia de seguridad. Para restaurar una copia de seguridad en la base de datos, primero debe aplicar las copias de seguridad incrementales a la copia de seguridad completa base. Esto se hace usando el --prepare opción de comando. En MariaDB 10.1, también tendría que usar el --apply-log-only opción.

MariaDB comenzando con 10.2

En MariaDB 10.2 y posterior, realice el siguiente proceso:

Primero, prepare la copia de seguridad base:

$ mariabackup --prepare --target-dir=/var/mariadb/backup

La ejecución de este comando trae la copia de seguridad completa base, es decir, /var/mariadb/backup, en sincronización con los cambios contenidos en el registro de rehacer de InnoDB recopilado mientras se realizaba la copia de seguridad.

Luego, aplique los cambios incrementales a la copia de seguridad completa base:

$ mariabackup --prepare --target-dir=/var/mariadb/backup --incremental-dir=/var/mariadb/inc1

La ejecución de este comando trae la copia de seguridad completa base, es decir, /var/mariadb/backup, en sincronización con los cambios contenidos en la primera copia de seguridad incremental.

Para cada copia de seguridad incremental restante, repita el último paso para sincronizar la copia de seguridad completa base con los cambios contenidos en esa copia de seguridad incremental.

MariaDB hasta 10.1

En MariaDB 10.1, realice el siguiente proceso:

Primero, prepare la copia de seguridad base:

$ mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup

La ejecución de este comando trae la copia de seguridad completa base, es decir, /var/mariadb/backup, en sincronización con los cambios contenidos en el registro de rehacer de InnoDB recopilado mientras se realizaba la copia de seguridad.

Luego, aplique los cambios incrementales a la copia de seguridad completa base:

$ mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup --incremental-dir=/var/mariadb/inc1

La ejecución de este comando trae la copia de seguridad completa base, es decir, /var/mariadb/backup, en sincronización con los cambios contenidos en la primera copia de seguridad incremental.

Para cada copia de seguridad incremental restante, repita el último paso para sincronizar la copia de seguridad completa base con los cambios contenidos en esa copia de seguridad incremental.

Restaurar la copia de seguridad

Una vez que haya aplicado todas las copias de seguridad incrementales a la base, puede restaurar la copia de seguridad usando el --copy-back o la --move-back opciones. los --copy-back La opción le permite conservar los archivos de respaldo originales. los --move-back La opción realmente mueve los archivos de respaldo a la datadir, por lo que se pierden los archivos de copia de seguridad originales.

  • Primero, detenga el proceso del servidor MariaDB.
  • Luego, asegúrese de que el datadir esta vacio.
  • Luego, ejecute Mariabackup con una de las opciones mencionadas anteriormente:
$ mariabackup --copy-back --target-dir=/var/mariadb/backup/
  • Entonces, es posible que deba corregir los permisos de archivo.

Cuando Mariabackup restaura una base de datos, conserva los privilegios de archivo y directorio de la copia de seguridad. Sin embargo, escribe los archivos en el disco como el usuario y el grupo que restauran la base de datos. Como tal, después de restaurar una copia de seguridad, es posible que deba ajustar el propietario del directorio de datos para que coincida con el usuario y el grupo del servidor MariaDB, normalmente mysql para ambos. Por ejemplo, para cambiar de forma recursiva la propiedad de los archivos a la mysql usuario y grupo, puede ejecutar:

$ chown -R mysql:mysql /var/lib/mysql/
  • Finalmente, inicie el proceso del servidor MariaDB.

El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.