Guarda tus datos con estilo: Cómo respaldar bases de datos MySQL desde la línea de comandos en Linux
Si tienes un servidor Ubuntu con una pila LAMP en tu centro de datos, y en ese servidor se ejecuta una base de datos (o varias bases de datos) que deben ser respaldadas, existen varias opciones de software que podrías instalar para realizar esa tarea. Sin embargo, si quieres mantener la plataforma de tu servidor lo más básica posible para evitar posibles problemas, lo más probable es que quieras trabajar con las herramientas integradas para realizar el respaldo. Afortunadamente, los desarrolladores de MySQL pensaron en eso.
Te guiaré en el proceso de respaldo de tus bases de datos MySQL sin tener que instalar software de terceros. (Nota: El proceso es el mismo para cualquier distribución Linux con MySQL instalado.) Con este conocimiento, podrás configurar tus propias copias de seguridad automatizadas con la ayuda de bash y cron.
Lo que necesitarás
Si MySQL está funcionando correctamente, ya tienes todo el software necesario. Para llevar a cabo esta tarea, necesitarás la contraseña del usuario MySQL que tiene permisos para acceder a la(s) base(s) de datos en cuestión.
El comando mysqldump
El comando que se encarga de hacer el trabajo pesado es mysqldump. La estructura del comando se ve así:
mysqldump [opciones] [nombre_base_datos] [nombre_respaldo]
El proceso es bastante sencillo. Supongamos que tienes una base de datos llamada "productos" y quieres respaldarla en una unidad externa montada en /mnt/respaldo/. El comando básico para realizar ese respaldo sería:
Los diferentes tipos de buses en los dispositivos electrónicossudo mysqldump -p productos > /mnt/respaldo/productos.sql
Hay un par de problemas con esto. En primer lugar, debes usar la opción -p; esto le indica a mysqldump que ingresarás la contraseña asociada al usuario MySQL. Si eso falla (dependiendo de tu configuración), es posible que debas incluir la opción para indicarle a mysqldump qué usuario tiene esos permisos, así (USUARIO es el usuario real que tiene permisos para trabajar con las bases de datos, como root):
mysqldump -u USUARIO -p productos > /mnt/respaldo/productos.sql
Otro problema podría surgir si el usuario no tiene permisos de escritura en ese directorio; si ese es el caso, recibirás un error de Permiso denegado. Si no quieres arriesgarte a abrir los permisos en ese directorio de respaldo, puedes ejecutar el comando sudo su primero y luego ejecutar el comando mysqldump. Recuerda: Después de completar la tarea, sal del prompt de bash de root con el comando exit.
Respaldar todas tus bases de datos
Si deseas respaldar todas tus bases de datos, puedes lograrlo utilizando la opción --all-databases, de la siguiente manera:
mysqldump -u USUARIO -p --all-databases > /mnt/respaldo/todas_las_bases_datos.sql
Comprimir tu respaldo
Si tu base de datos es considerablemente grande y planeas realizar respaldos manuales a diario, es posible que desees comprimir los respaldos. Esto es otra característica que los desarrolladores de MySQL incluyeron.
Sigamos con el mismo ejemplo de antes, pero con compresión. Para lograr esto, utilizaremos la opción -C, de la siguiente manera (USUARIO es el nombre de usuario que tiene permisos para trabajar con las bases de datos):
mysqldump -u USUARIO -p -C productos > /mnt/respaldo/productos.sql.tgz
El comando anterior generará una versión comprimida del respaldo de tu base de datos en el archivo definido (en este caso productos.sql.tgz).
Sigue adelante
Estás listo para continuar el trabajo. En un artículo futuro, explicaré cómo automatizar el proceso de respaldo de tus bases de datos, así como también cómo restaurar una base de datos a partir de un respaldo. Si prefieres realizar tus respaldos manualmente, ahora tienes todo lo necesario para hacerlo.
Entendiendo los permisos de archivos y directorios en UNIXEn Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Centros de Datos, allí encontraras muchos artículos similares a Guarda tus datos con estilo: Cómo respaldar bases de datos MySQL desde la línea de comandos en Linux , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados