Indagamos por distintos espacios para así tenerte la solución a tu dilema, en caso de alguna pregunta puedes dejarnos tu comentario y contestamos porque estamos para ayudarte.
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.
Reseñas y puntuaciones
Nos puedes añadir valor a nuestra información dando tu experiencia en las notas.