Copia de seguridad MySQL

Esta guía le ayudará a realizar una copia de seguridad completa de su base de datos MySQL sin apagar el sistema. Fue escrita y probada por el equipo de devops de Navixy, por lo que puede confiar en ella como una solución conocida y operativa.

circle-info

Esta instrucción es válida para MySQL de versiones 8.xx (menor o igual a 8.0.29) y 5.xx. Está escrita, probada y puede aplicarse en los siguientes sistemas operativos:

  • Ubuntu 18.04, 20.04

  • Debian 9, 10, 11

Para otros sistemas operativos y versiones de software, puede aplicarse y adaptarse bajo su propia responsabilidad.

Qué necesita para realizar una copia de seguridad completa de su base de datos MySQL sin apagar el sistema:

  • Conectar un volumen adicional en un disco separado al que se realizará la copia de seguridad.

  • Obtener las credenciales de un usuario MySQL existente o crear un usuario específicamente para la copia de seguridad

  • Todas las operaciones deben realizarse como un usuario con derechos de root, o usando sudo.

A continuación veremos con más detalle los pasos que debe seguir.

Creación de un usuario

Como ejemplo crearemos el usuario llamado bkpuser con los derechos mínimos suficientes para crear una copia de seguridad completa y la contraseña s3cret.

Primero debe acceder a la consola de MySQL con derechos administrativos, por ejemplo:

mysql -uroot -p

Luego, en la consola de MySQL, introduzca los comandos específicos para las distintas versiones de MySQL:

MySQL 5.xx

MySQL 8.xx

Volumen de copia de seguridad

Ahora necesitamos calcular el tamaño del volumen adicional al que se realizará la copia de seguridad.

Para determinar el tamaño del volumen requerido para la copia de seguridad de la base de datos, debe encontrar el tamaño de su base de datos actual y multiplicarlo por 1,5.

Si su base de datos está en la ubicación predeterminada que se establece al instalar el servidor MySQL, debe ejecutar el siguiente comando con derechos de root:

Si tiene una ubicación personalizada de la base de datos, debe especificar la ruta de la base de datos como argumento del comando du, es decir:

Ejemplo de cálculo

En la captura de pantalla podemos ver que el tamaño actual de la base de datos MySQL es de 181 GB. Por lo tanto, el tamaño del volumen para respaldar esta base de datos debe ser al menos 181 * 1.5 = 271,5 GB, redondeado hacia arriba a 272 GB

El cálculo se aplica a una sola copia de la base de datos. Si planea conservar más de una copia de seguridad de la base de datos, recuerde multiplicar el resultado por el número de copias almacenadas.

Software para copia de seguridad

Después de conectar el nuevo volumen y crear un sistema de archivos en él, debe instalar el software necesario para la copia de seguridad de la base de datos. Este software se llama https://www.percona.com/doc/percona-xtrabackup/LATEST/index.htmlarrow-up-right. Considere instalarlo usando paquetes de instalación listos disponibles en los repositorios de Percona XtraBackup.

La instalación se realiza mediante el paquete que contiene la percona-release utilidad de configuración.

Primero, descargue este paquete desde los repositorios de Percona XtraBackup con el siguiente comando:

El siguiente paso es ejecutar la instalación del paquete descargado usando la utilidad dpkg. Debe ser root o usar sudo para ejecutar este comando:

Ahora configure los repositorios necesarios para el propósito:


Excepción para Debian 10

En Debian 10 el paso anterior devuelve un error:

Para corregir este error, debe editar el archivo /etc/apt/sources.list

Abra este archivo en cualquier editor de texto, por ejemplo:

Agregue la siguiente línea a la lista en la parte superior:

El contenido del archivo se verá algo así:

Guarde los cambios en el archivo y luego ejecute los siguientes comandos:


Ahora está listo para instalar la utilidad de copia de seguridad. Para ello, utilice el siguiente comando como root o sudo:

para la versión de MySQL 5.xx:

para versiones de MySQL 8.xx menores o iguales a 8.0.29:

Con esto se completa el procedimiento de instalación de la utilidad Percona XtraBackup.

Creación de la copia de seguridad

Ahora creará una copia de seguridad completa de la base de datos usando Percona XtraBackup.

  • el comando de copia de seguridad se ejecuta en el mismo servidor donde se almacena la base de datos copiada

  • en el ejemplo siguiente el volumen adicional de copia de seguridad está montado en /mnt/backups carpeta

  • se utiliza un usuario pre-creado bkpuser con una contraseña s3cret para conectarse a la base de datos

Después de completar la copia de seguridad, debe preparar la base de datos copiada para su uso. Sin esta operación, la base de datos no será operativa.

Ahora tiene una copia de la base de datos que está actualizada en el momento de su creación, creada sin detener el servidor y sin aliviar la carga sobre él.

Esta copia de seguridad puede utilizarse para restaurar su base de datos en caso de emergencia.

Última actualización

¿Te fue útil?