Cómo hacer una copia de seguridad de una base de datos o una tabla MySQL (Tutorial definitivo)

Este artículo proporciona una descripción general de los tipos de copias de seguridad disponibles en MySQL y describe ejemplos de uso. mysqldump Utilidad de línea de comandos para hacer una copia de seguridad de la base de datos, tablas, datos o esquemas y restaurar la base de datos MySQL.

Alternativamente, puede ver cómo hacer una copia de seguridad de una base de datos usando MySQL Workbench y cómo realizar la misma tarea de manera fácil y rápida usando la herramienta de volcado de MySQL disponible en dbForge Studio para MySQL.

Índice

    Contenido

    Tipos de copia de seguridad en MySQL

    Hay diferentes tipos de copias de seguridad en MySQL. La estrategia de copia de seguridad a elegir depende de varios factores, como el tamaño de los datos, el hardware que utiliza, el rendimiento que desea lograr, la capacidad de su base de datos, etc. Además, debe tener en cuenta cuánto tiempo llevará restaurar la copia de seguridad.

    MySQL admite los siguientes tipos de copias de seguridad:

    • lógicamente la copia de seguridad genera la estructura de la base de datos en un archivo .sql generando instrucciones CREAR o INSERTAR. Este archivo se puede restaurar más tarde usando un archivo mysqldump utilidad. Este tipo solo realiza copias de seguridad de datos sin índices, por lo que es de tamaño pequeño. Sin embargo, su opción de recuperación es más lenta en comparación con sus alternativas porque tiene que realizar todos los operadores uno por uno.
    • Físico hacer una copia de seguridad de los archivos de la base de datos en el mismo formato en el que están almacenados en el disco. Este es más rápido que el tipo lógico, pero solo se puede recuperar en servidores MySQL desde el mismo sistema de base de datos.
    • Consistente la copia de seguridad copia los archivos en el momento exacto, solo después de que el servidor se detiene o se bloquea.

    Si pueden ocurrir interrupciones durante la copia de seguridad, las copias de seguridad se pueden dividir en los siguientes tipos:

    • Hace frío la copia de seguridad bloquea el acceso a los datos durante la copia de seguridad y no permite cambios en los datos. Es simple, rápido y no afecta el rendimiento.
    • Caliente copia de seguridad de los archivos mientras se ejecuta la base de datos. Los usuarios pueden leer y manipular datos.
    • Cálido la copia de seguridad hace una copia de la base de datos mientras se está ejecutando. Los usuarios pueden leer pero no pueden escribir datos durante la copia de seguridad.

    Ya sea que desee copiar los datos en su totalidad o en parte, las copias de seguridad se pueden clasificar en:

    • Completo la copia de seguridad copia todos los datos de la base de datos. Puede ser lógico o físico. Se puede restaurar una copia de seguridad completa en otro servidor.
    • Diferencial respaldo copia todos los cambios realizados desde la última copia de seguridad completa. La copia de seguridad diferencial se puede restaurar solo después de restaurar una copia de seguridad completa.
    • incrementales la copia de seguridad copia todos los cambios en los datos realizados después de la copia de seguridad anterior (completa o diferencial).

    Haga una copia de seguridad de la base de datos MySQL con el comando mysqldump

    Para hacer una copia de seguridad de su base de datos MySQL, puede usar herramientas de terceros o ejecutar el archivo mysqldump comando desde la línea de comandos.

    mysqldump es una utilidad de línea de comandos utilizada para realizar copias de seguridad de una base de datos lógica MySQL. Crea un solo archivo .sql que contiene un conjunto de instrucciones SQL. Este archivo se puede utilizar para crear tablas, objetos y/o pegar datos copiados de la base de datos. Con la utilidad puede cargar tablas, una o más bases de datos o todo el servidor con todas las bases de datos y tablas junto con sus objetos o transferirlos a otro servidor.

    Además, mysqldump la utilidad puede generar el volcado en formato de archivo CSV o XML. Tenga en cuenta que mysqldump no puede cargar una base de datos o datos en archivos .sql individuales.

    Para restaurar la base de datos, la utilidad ejecuta todas las instrucciones SQL para recrear tablas y llenarlas con datos, lo que a su vez lleva mucho tiempo.

    Sintaxis básica mysqldump el comando incluye los siguientes parámetros:

    mysqldump -u [user name] –p [password] -h [host name] [options] [database_name] [tablename] > [dumpfilename.sql]
    • -u (o --user=[username]) es el nombre de usuario para conectarse al servidor MySQL.
    • -p esta es la contraseña del nombre de usuario que utiliza para conectarse al servidor.
    • -h ( --host=[hostname] ) es el nombre del servidor desde el que desea conectarse al volcado de datos.
    • options son opciones adicionales para la configuración de copias de seguridad.
    • database_name este es el nombre de la base de datos que desea respaldar.
    • tablename este es el nombre de la tabla que desea respaldar.
    • < o > hace referencia a parámetros que indican el proceso de copia de seguridad (>) o restauración (<).
    • dumpfilename.sql esta es la ruta al archivo de volcado que contiene la copia de seguridad de la base de datos.

    Nota: Como una regla, mysqldump está en el directorio de instalación del servidor MySQL. Por ejemplo, para MySQL 8.0, la ruta del directorio es C:Program FilesMySQLMySQL Server 8.0bin. Por lo tanto, recomendamos agregar este directorio a mysqldump mandar

    A continuación, echemos un vistazo más de cerca a los ejemplos que describen cómo hacer una copia de seguridad de una base de datos MySQL usando mysqldump utilidad de línea de comandos.

    Para fines de demostración, vamos a conectarnos a un servidor remoto. dbfmylast. Por lo tanto, agregaremos información adicional. mysqldump equipo, por ejemplo --host y --port parámetros

    mysqldump para respaldar todas las bases de datos

    El ejemplo muestra cómo usar mysqldump para hacer una copia de seguridad de todas las bases de datos MySQL en el servidor. Los scripts de la base de datos se exportan a un archivo .sql, que luego se puede usar, por ejemplo, para mover las bases de datos a un nuevo servidor. Para más información, ver Realice una copia de seguridad de todas o solo las bases de datos del servidor MySQL requeridas.

    Para hacer una copia de seguridad de todas las bases de datos, ejecute el siguiente comando agregando --all-databases parámetro:

    mysqldump --host=dbfmylast --user=root --port=3306 --p --all-databases > D:backup_all_databases.sql

    Esto hará una copia de seguridad de todas las bases de datos con su estructura y datos en un backup_all_databases.sql Archivo.

    mysqldump solo para respaldo de datos

    Si desea realizar una copia de seguridad de los datos sin una estructura de base de datos, ejecute el comando con –no-create-info parámetro. Por ejemplo, volcar datos para halcón base de datos.

    mysqldump --host=dbfmylast --user=root --port=3306 -p --no-create-info sakila > D:backup_data_only.sql

    El archivo generará un script que contiene solo la tabla de volcado:

    mysqldump a la estructura de copia de seguridad solamente

    Puede haber ocasiones en las que necesite exportar una base de datos o una estructura de tabla sin datos. Para hacer esto, ejecute el comando desde -no-data parámetro.

    mysqldump --host=dbfmylast --user=root --port=3306 -p --no-data sakila > D:backup_database_structure_only.sql

    El mysqldump el comando genera solo la estructura de la tabla.

    mysqldump para respaldar todas las tablas en la base de datos

    El mysqldump el comando puede respaldar todas o ciertas tablas en la base de datos agregando los nombres de las tablas seleccionadas al comando. Tenga en cuenta que los nombres de las tablas deben estar separados por un espacio. Por ejemplo, restablecer categoría, ciudad, y país tablas ejecutando el siguiente comando:

    mysqldump --host=dbfmylast --user=root --port=3306 -p sakila city country category > D:backup_selected_tables.sql

    La salida es la siguiente:

    mysqldump para hacer una copia de seguridad de una tabla

    Para hacer una copia de seguridad de una tabla en una base de datos, especifique el nombre de la tabla específica en el archivo mysqldump mandar Por ejemplo, restablecer inventario mesa con halcón base de datos.

    mysqldump --host=dbfmylast --user=root --port=3306 -p sakila inventory > D:backup_single_table.sql

    El script de copia de seguridad genera la estructura y los datos solo para inventario mesa:

    MySQL Workbench para la copia de seguridad de la base de datos

    En esta sección, veremos cómo hacer una copia de seguridad de una base de datos utilizando la herramienta MySQL Workbench.

    Para hacer una copia de seguridad de la base de datos, haga lo siguiente:

    1. Sobre el arte Administración tablero, haga clic Exportar datos. El Administración - Exportar datos se abre el documento.

    2. Sobre el arte Selección de objetos > Tablas para exportar pestaña, seleccione halcón esquema.

    3. Bajo Configuración de exportación, Seleccione Exportar a la carpeta del proyecto de volcado si desea que las tablas de la base de datos se almacenen en archivos .sql separados o Exportar a archivo independiente para guardar la base de datos de volcado en un único archivo .sql.

    4. Para crear un archivo de copia de seguridad, toque Empezar a exportar. En la barra de progreso, puede ver que los datos se han exportado al archivo especificado.

    Nota: Con MySQL Workbench no es posible automatizar o programar una copia de seguridad de la base de datos.

    Cómo hacer una copia de seguridad de una base de datos usando dbForge Studio para MySQL

    Ahora veamos lo fácil y rápido que es hacer una copia de seguridad de una base de datos usando dbForge Studio para MySQL. Es una herramienta GUI MySQL versátil para desarrollar, gestionar y administrar bases de datos MariaDB y MySQL. Este IDE puede mejorar el rendimiento, optimizar el rendimiento de las consultas, comparar y sincronizar bases de datos de manera eficiente, automatizar y programar copias de seguridad de bases de datos.

    Con la herramienta de copia de seguridad MySQL integrada en dbForge Studio para MySQL, puede realizar copias de seguridad y restaurar bases de datos MySQL de la manera más eficiente y rápida.

    Para hacer una copia de seguridad de la base de datos, abra la herramienta y conéctese al servidor MySQL. У Líder de base de datos, haga clic con el botón derecho en la base de datos que desea crear y seleccione Copia de seguridad y restaurar > Copia de seguridad de la base de datos.

    У Asistente de copia de seguridad de la base de datos que se abrirá, especifique la conexión, la base de datos, la ubicación de almacenamiento del archivo de salida y el nombre de este archivo.

    Sobre Contenido de copia de seguridad en la pestaña, seleccione si desea realizar una copia de seguridad de la estructura o los datos de la base de datos, o ambos, y seleccione los objetos de la base de datos.

    Sobre Opciones pestaña, especifique los parámetros adicionales que manejarán el proceso de copia de seguridad.

    Si desea ajustar el comportamiento de manejo de errores y la configuración de escritura, cambie a Manejo de errores pestaña y ajuste la configuración. Para iniciar la copia de seguridad de la base de datos, haga clic en Respaldo. Una vez que se complete el proceso, verá una notificación y podrá cerrar el asistente.

    Recuperar base de datos en MySQL desde archivo

    Ahora vamos a reconstruir halcón bases de datos del archivo de salida .sql usando el archivo mysqldump utilidad.

    Primero debe crear una base de datos vacía en el servidor de destino y restaurar la base de datos usando un archivo mysql un comando que creará un esquema con los datos.

    mysql --host=dbfmylast --user=root --port=3306 -p sakila < D:dumpssakila.sql

    donde sakila es una base de datos vacía que contendrá una estructura de base de datos con datos después de importar desde sakila.sql archivo de respaldo.

    Nota: Si el servidor de destino tiene una base de datos con el mismo nombre, primero debe restablecerla y luego crear una base de datos vacía.

    Para ver una lista de tablas ubicadas en halcón base de datos, haga lo siguiente mysql equipo:

    mysql> use sakila;
    ...
    mysql> show tables;

    Conclusión

    En este artículo, analizamos los tipos de respaldos en MySQL, dimos ejemplos de cómo respaldar todas las bases de datos, datos o estructuras y tablas de bases de datos, y cómo restaurar una base de datos usando mysqldump utilidad. También vimos cómo hacer una copia de seguridad de una base de datos usando MySQL Workbench y dbForge Studio para MySQL.

    Descargue una prueba gratuita de 30 días para evaluar las capacidades de dbForge Studio para MySQL. Una vez completado, considere comprar una licencia completa para la herramienta para duplicar su rendimiento durante la copia de seguridad/restauración de la base de datos MySQL y otras operaciones de administración y desarrollo de la base de datos.

    Artículos de interés

    Subir