Al utilizar Mariabackup, tiene la opción de realizar copias de seguridad parciales. Los respaldos parciales le permiten elegir qué bases de datos o tablas respaldar, siempre que la tabla o partición involucrada esté en un espacio de tabla de archivo por tabla InnoDB. Esta página documenta cómo realizar respaldos parciales.

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

Al igual que con las copias de seguridad completas, 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. El directorio de destino debe estar vacío o no existir.

Para una copia de seguridad parcial, hay algunos otros argumentos que también puede proporcionar:

  • Para indicarle qué bases de datos respaldar, puede proporcionar la --databases opción.
  • Para indicarle qué bases de datos excluir de la copia de seguridad, puede proporcionar la --databases-exclude opción.
  • Para indicarle que compruebe un archivo para que las bases de datos respalden, puede proporcionar el --databases-file opción.
  • Para decirle qué tablas respaldar, puede usar el --tables opción.
  • Para indicarle qué tablas excluir de la copia de seguridad, puede proporcionar la --tables-exclude opción.
  • Para indicarle que compruebe un archivo para que las bases de datos respalden, puede proporcionar el --tables-file opción.

Las opciones de copia de seguridad parcial sin archivos admiten expresiones regulares en los nombres de la base de datos y las tablas.

Por ejemplo, para realizar una copia de seguridad de cualquier base de datos que comience con el string app1_ y cualquier tabla en esas bases de datos que comience con el string tab_, ejecute el siguiente comando:

$ mariabackup --backup --target-dir=/var/mariadb/backup/ --databases='app1_*' --tables='tab_*' --user=mariabackup --password=mypassword

Mariabackup actualmente no puede respaldar un subconjunto de particiones de una tabla particionada. Hacer una copia de seguridad de una tabla particionada es actualmente una selección de todo o nada. Ver MDEV-17132 sobre eso. Si necesita hacer una copia de seguridad de un subconjunto de particiones, entonces una posibilidad es que en lugar de usar Mariabackup, pueda exportar los espacios de tabla de archivo por tabla de las particiones.

El tiempo que tarda la copia de seguridad depende del tamaño de las bases de datos o tablas de las que se realiza la copia de seguridad. Puede cancelar la copia de seguridad si lo necesita, ya que el proceso de copia de seguridad no modifica la base de datos.

Mariabackup escribe los archivos de respaldo en el directorio de destino. Si el directorio de destino no existe, lo crea. Si el directorio de destino existe y contiene archivos, genera un error y se cancela.

Preparando la copia de seguridad

Al igual que con las copias de seguridad completas, los archivos de datos que crea Mariabackup en el directorio de destino no son consistentes en un momento dado, dado que los archivos de datos se copian en diferentes momentos durante la operación de copia de seguridad. Si intenta restaurar desde estos archivos, InnoDB se da cuenta de las inconsistencias y se bloquea para protegerlo de la corrupción. De hecho, para las copias de seguridad parciales, la copia de seguridad ni siquiera es un directorio de datos MariaDB completamente funcional, por lo que InnoDB generaría más errores que para las copias de seguridad completas. También será muy importante tener en cuenta este punto durante el proceso de restauración.

Antes de poder restaurar desde una copia de seguridad, primero debe preparar para que los archivos de datos sean coherentes. Puedes hacerlo con el --prepare opción de comando.

Las copias de seguridad parciales se basan en los espacios de tabla transportables de InnoDB. Para que MariaDB importe espacios de tabla como estos, InnoDB busca un archivo con un .cfg extensión. Para que Mariabackup cree estos archivos, también debe agregar el --export opción durante el paso de preparación.

Por ejemplo, puede ejecutar el siguiente comando:

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

Si esta operación se completa sin errores, entonces la copia de seguridad está lista para ser restaurada.

MariaDB hasta 10.2.8

En MariaDB 10.2.8 y antes, Mariabackup no apoyaba el --export opción. Ver MDEV-13466 sobre eso. En estas versiones de MariaDB, esto significa que Mariabackup no pudo crear .cfg archivos para espacios de tabla de archivo por tabla InnoDB durante el --prepare escenario. Aún puede importar espacios de tabla de archivo por tabla sin la .cfg archivos en muchos casos, por lo que aún puede ser posible en esas versiones restaurar copias de seguridad parciales o restaurar tablas y particiones individuales con solo el .ibd archivos. Si tiene una copia de seguridad completa y necesita crear .cfg archivos para espacios de tabla de archivo por tabla InnoDB, entonces puede hacerlo preparando la copia de seguridad como de costumbre sin el --export y luego restaurar la copia de seguridad y luego iniciar el servidor. En ese momento, puede utilizar las funciones integradas del servidor para copiar los espacios de tabla transportables.

Restaurar la copia de seguridad

El proceso de restauración de las copias de seguridad parciales es bastante diferente al proceso de las copias de seguridad completas. Una copia de seguridad parcial no es un directorio de datos completamente funcional. El diccionario de datos en el espacio de tabla del sistema InnoDB aún contendrá entradas para las bases de datos y tablas que no se incluyeron en la copia de seguridad.

En lugar de utilizar el --copy-back o la --move-back, cada archivo de espacio de tabla de archivo por tabla InnoDB individual deberá importarse manualmente al servidor de destino. El proceso que se utiliza para importar el archivo dependerá de si se trata de particiones.

Restauración de tablas individuales no particionadas

Para restaurar tablas individuales no particionadas a partir de una copia de seguridad, busque el .ibd y .cfg archivos para la tabla en la copia de seguridad y luego impórtelos mediante el proceso Importación de espacios de tabla transportables para tablas no particionadas.

Restauración de particiones individuales y tablas particionadas

Para restaurar particiones individuales o tablas particionadas desde una copia de seguridad, busque el .ibd y .cfg para las particiones en la copia de seguridad y luego impórtelos mediante el proceso Importación de espacios de tabla transportables para tablas particionadas.

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.