Ya sea que esté ejecutando una pila LAMP en Ubuntu o CentOS, necesita hacer una copia de seguridad de sus bases de datos MySQL. Aprenda cómo hacer esto con la ayuda del comando mysqldump.
Su servidor Ubuntu está funcionando con una pila LAMP en su 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 puede instalar para que esto suceda, pero si desea mantener esa plataforma de servidor al mínimo para evitar posibles problemas, lo más probable es que desee trabajar con las herramientas incorporadas para realizar la copia de seguridad. Es bueno que los desarrolladores de MySQL pensaran en eso.
Lecturas imprescindibles del centro de datos
Le guiaré a través del proceso de hacer una copia de seguridad de sus bases de datos MySQL sin tener que instalar software de terceros. (Nota: El proceso es el mismo para cualquier distribución de Linux con MySQL instalado.) Con esta habilidad en su haber, podrá crear sus propias copias de seguridad automatizadas con la ayuda de bash y cron.
VER: Política de copia de seguridad de datos (Tech Pro Research)
Lo que necesitarás
Si MySQL está funcionando, usted tiene todo el software necesario. Para llevar a cabo esta tarea, necesitará la contraseña para el usuario MySQL que tiene permisos para acceder a la(s) base(s) de datos en cuestión.
El comando mysqldump
El comando que hace el trabajo pesado es mysqldump. La estructura de mando es la siguiente:
mysqldump[opciones][nombre_de_la_base de datos][nombre_de_la_copia_de_seguridad]
El proceso es bastante simple. Supongamos que tiene una base de datos con el nombre de productos y desea realizar una copia de seguridad en una unidad externa montada en /mnt/backups/. El comando básico para ejecutar ese volcado (también conocido como backup) sería este:
sudo mysqldump -p productos > /mnt/backups/products.sql
Hay un par de asuntos a la mano. En primer lugar, debe utilizar la opción -p; esto le indica a mysqldump que debe introducir la contraseña asociada con el usuario de MySQL. Si esto falla (dependiendo de su configuración), es posible que tenga que incluir la opción de indicar a mysqldump qué usuario tiene dicho permiso, de la misma manera (el USUARIO es el usuario real que tiene permiso para trabajar con las bases de datos, como por ejemplo root):
mysqldump -u USUARIO -p productos > /mnt/backups/products.sql
Otro problema puede aparecer si el usuario no tiene permiso de escritura en ese directorio; si este es el caso, recibirá un error de Permiso denegado. Si no desea correr el riesgo de abrir los permisos en ese directorio de copia de seguridad, primero puede emitir el comando sudo su y luego ejecutar el comando mysqldump. Recuerda: Después de completar la tarea, salga de la línea de comandos de root bash con el comando exit.
Copia de seguridad de todas sus bases de datos
Si desea realizar una copia de seguridad de todas sus bases de datos, puede hacerlo con la opción -all-databases, así:
mysqldump -u USER -p --all-databases > /mnt/backups/all_databases.sql
Cómo comprimir su copia de seguridad
Si su base de datos es considerablemente más grande y planea ejecutar manualmente copias de seguridad diariamente, podría considerar comprimir las copias de seguridad. Esta es otra característica que los desarrolladores de MySQL han incorporado.
Sigamos con nuestro mismo ejemplo de arriba, sólo con la compresión. Para lograr esto, usaremos la opción -C, así (USUARIO es el nombre de usuario que tiene permiso para trabajar con las bases de datos):
mysqldump -u USUARIO -p -C productos > /mnt/backups/products.sql.tgz
El comando anterior descargará una versión comprimida de la copia de seguridad de su base de datos en el archivo definido (en este caso products.sql.tgz.
Manténgalo en marcha
Estás listo para continuar el trabajo. En un artículo futuro, explicaré cómo automatizar el proceso de copia de seguridad de sus bases de datos, así como cómo restaurar una base de datos a partir de una copia de seguridad. Si prefiere ejecutar sus copias de seguridad manualmente, ahora tiene todo lo que necesita para hacerlo.
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles