Como una de las principales bases de datos disponibles de forma gratuita, MySQL es una opción popular para todo tipo de aplicaciones web. Al estar expuesto a Internet, su aplicación, por supuesto, está expuesta a ataques maliciosos. Si su servidor está comprometido, en el mejor de los casos necesitará reinstalar su aplicación; en el peor de los casos, puede perder sus datos por completo. También eventualmente estará en una situación en la que necesita migrar una base de datos de un servidor a otro.
¿Para qué se utiliza mysqldump?
los mysqldump La herramienta lo tiene cubierto para ambas situaciones. Su función básica es tomar una base de datos MySQL y "volcarla" como un archivo de texto. Pero no cualquier archivo de texto … el archivo es un conjunto de sentencias SQL. Estas instrucciones, cuando se ejecuten, reconstruirán su base de datos al estado exacto en que se encontraba cuando ejecutó el volcado.
Así que puedes usar mysqldump Tomar exportaciones de una base de datos. Estos pueden ser para fines de copias de seguridad o porque está moviendo la base de datos a un nuevo host. En cualquier caso, en algún momento importar el archivo de texto de nuevo en un servidor de base de datos MySQL. Ejecutará todas las sentencias de SQL en el archivo, lo que reconstruye su base de datos a su estado original. Esta parte no usa realmente el mysqldump comando, pero tampoco sería posible sin esta utilidad!
Los documentos de MySQL enumeran otros métodos para hacer copias de seguridad, pero todos ellos tienen sus propios inconvenientes:
- Hacer copias de seguridad de una base de datos de MySQL Enterprise es una excelente manera de lograr estas copias de seguridad … si no le importa la etiqueta de precio de Enterprise.
- Copiar los directorios de datos de la base de datos puede ser complicado si se está moviendo a través de sistemas operativos, ya que sus destinos serán diferentes.
- Exportar a un archivo de texto delimitado le dará el contenido, pero tendrá que recrear la estructura usted mismo. Y es mejor que lo hagas bien …
- A menudo puede hacer copias de seguridad de bases de datos de programas GUI como MySQL Workbench. Pero este es un proceso manual, es decir, no es algo que pueda escribir o incluir en un trabajo por lotes.
Instalando la herramienta mysqldump
Si está interesado en este artículo, es probable que ya tenga instalado MySQL. Si ese es el caso, buenas noticias, ya tienes mysqldump! Si no, simplemente puede instalar MySQL de la manera estándar para su sistema operativo.
Para Windows, consulte nuestras instrucciones aquí para instalar MySQL en Windows 7 (el proceso de instalación sigue siendo muy similar). Del mismo modo, en macOS, consulte nuestras instrucciones para instalar MySQL en macOS 10.7 (de nuevo, más antiguo pero aún aplicable). Los usuarios de sistemas Linux basados en Ubuntu pueden usar el siguiente comando para instalar el cliente MySQL y las utilidades:
sudo apt instalar mysql-client Una vez instalado, puede utilizar mysqldump para obtener una copia de seguridad completa de su base de datos. mysqldump -h nombre de su host de base de datos o IP -u nombre de usuario de la base de datos -p nombre de la base de datos> db_backup.sql
Vamos a romper este comando un poco: Cuando haya terminado, tendrás un archivo .SQL. Esto es solo un archivo de texto que contiene sentencias de SQL. Puedes abrirlo en cualquier editor de texto para inspeccionar los contenidos. Al observar una exportación desde una base de datos de WordPress, puede ver cómo se agrupan estos archivos. El archivo está dividido en secciones. En la imagen anterior, podemos ver que la primera sección configura la tabla para los comentarios de WordPress. La segunda sección luego recrea el contenido (es decir, los registros de comentarios) que estaba en esas tablas. Cuando vuelva a importar su volcado de MySQL nuevamente, el comando funcionará a través del archivo, ejecutará las sentencias y reconstruirá su base de datos tal como estaba. Asique como haces eso? Vamos a ver. Antes de poder hacer esto, necesitará una base de datos ya creada y un nombre de usuario y contraseña válidos. También debe tener todos los permisos para la base de datos. (Estrictamente hablando no necesitas el CONCEDER permiso, pero es más fácil simplemente otorgarlos a todos.) Puede encontrar detalles sobre los permisos de la base de datos en este artículo. Para volver a importar sus datos, siga estos pasos: Cuando haya terminado, verá una larga lista de mensajes que indican que las instrucciones SQL se están ejecutando. Esté atento a los errores, pero si tiene los permisos correctos, debería estar bien, ya que es una base de datos en blanco. Una vez que se complete el proceso, tendrá un duplicado de su base de datos original. Puedes verificar esto haciendo otro volcado y comparando las dos salidas. Un editor de texto decente podrá hacer esto por usted, o una herramienta dedicada * diff * como la que se muestra en la siguiente imagen: Solo hay dos diferencias entre estos archivos, representados por líneas rojas en la parte superior e inferior de la barra de desplazamiento derecha. La primera es la línea que contiene el nombre de la base de datos, y esperamos que sea diferente porque los nombramos de manera diferente. El segundo, hasta el final, es la marca de tiempo del archivo de volcado. Y también esperamos que esto sea diferente, ya que recreamos la segunda base de datos después de la primera. De lo contrario, los archivos son exactamente iguales, lo que significa que las bases de datos que los generaron también lo son. Extraer un volcado de MySQL
Importando un archivo de volcado de MySQL