Base de datos remota de volcado de MySQL

Rashmi Patidar 20 junio 2023
  1. ¿Qué es el volcado de MySQL?
  2. Diferente sintaxis de MySQL Dump
  3. Volcado de MySQL desde el servidor remoto a la máquina local
Base de datos remota de volcado de MySQL

Este artículo presenta cómo volcar la base de datos remota de MySQL.

¿Qué es el volcado de MySQL?

El volcado de MySQL es el proceso de realizar una copia de seguridad de las bases de datos SQL y del paquete de la base de datos MySQL en otro servidor. El proceso generalmente pasa por mantener una copia de seguridad de los registros de un lugar a sus réplicas.

A menudo, este proceso está programado y se itera a tiempo. MySQL proporciona a los usuarios la utilidad mysqldump para recrear las bases de datos con privilegios.

La utilidad crea un archivo plano en el sistema con todas las sentencias SQL para regenerar el esquema.

El servidor donde está el volcado no debe ser necesariamente el servidor MySQL. El DumpFile es el archivo que realiza un seguimiento de todas las bases de datos y el esquema.

Con la ayuda del archivo de copia de seguridad, el esquema de la base de datos se puede recrear en otra instancia o en el servidor. El archivo contiene el conjunto de instrucciones SQL como crear e insert, que vuelve a llenar la jerarquía de esquema similar (base de datos->tabla->vistas->funciones->registros) en otro lugar.

El proceso de volcado generalmente toma 30 minutos o más según el tamaño de la base de datos.

Los requisitos previos para el volcado de MySQL son:

  1. Debe haber todos los privilegios de acceso a la base de datos, funciones, vistas, disparadores para usar la utilidad.
  2. El archivo volcado debería tener que crear, modificar e insertar privilegios, ya que recreará nuevos esquemas y necesitará modificarlos e insertar operaciones en ellos.

Diferente sintaxis de MySQL Dump

La sintaxis del volcado de MySQL para todas las bases de datos:

mysqldump [options] --databases database_name ... > backupFileName.sql

La sintaxis del volcado de MySQL para tablas:

mysqldump [options] database_name [table_name ...] > backupFileName.sql

La sintaxis del volcado de MySQL para el banco de trabajo de MySQL:

mysqldump [options] --all-databases > backupFileName.sql

La sintaxis anterior forma el volcado de la base de datos, la tabla y todas las bases de datos. La explicación de sus argumentos se encuentra a continuación.

  1. La palabra clave mysqldump debe estar siempre al principio. Indica que la declaración de MySQL es para crear un volcado. Indica que se debe formar un volcado de SQL.
  2. Seguidas de la palabra clave, las opciones son atributos no obligatorios que indican que el usuario puede agregar/eliminar opciones según sus necesidades. Ejemplos de opciones son:
    2.1 El comando -u root -p tiene opciones como guión u y guión p para indicar los atributos de usuario y contraseña en la lista de opciones. El root es el nombre de usuario establecido en MySQL, y la contraseña es la elección del usuario.
  3. La palabra clave --databases permite al usuario especificar el nombre de la base de datos para realizar la copia de seguridad seguido del nombre de la base de datos.
  4. Para el volcado de tablas, especifique el nombre de la base de datos seguido del nombre de la tabla con la misma sintaxis dada anteriormente.
  5. Para crear la copia de seguridad de todas las bases de datos dentro del banco de trabajo, pase directamente --all-databases sin ningún nombre de base de datos específico en el archivo.
  6. El símbolo > especifica que la salida de la primera sección debe pasar al archivo proporcionado después del operador.
  7. El backupfileName.sql es el nombre del archivo en el que se debe guardar todo el volcado. El nombre del archivo es una ruta relativa y no la ruta absoluta del archivo, lo que crea el archivo de copia de seguridad en la carpeta bin del banco de trabajo del desarrollador de MySQL.

Volcado de MySQL desde el servidor remoto a la máquina local

El comando para el volcado de MySQL desde el servidor remoto a la máquina local se encuentra a continuación.

La consulta funciona cuando no está instalado MYSQLdump en el servidor remoto. En ese escenario, se debe crear un túnel desde la máquina local al servidor remoto y luego volcar los datos en la máquina local.

El entorno LINUX es el requisito previo para el túnel seguro ssh. El comando ssh funcionará en el mismo.

El comando para crear un túnel ssh es el siguiente.

ssh -f -L3310:localhost:3306 user@remote.server -N

La palabra clave ssh permite que el sistema cree una conexión cifrada segura con el servidor remoto. Con este comando, un usuario puede establecer una conexión segura con cualquier máquina remota conociendo los detalles del servidor.

Hay varias opciones disponibles con el comando ssh.

  1. La opción -f permite que el proceso pase a segundo plano antes de la ejecución real del proceso.

  2. La opción -L especifica que el puerto de la máquina cliente o local se reenviará al puerto de la máquina servidor y host remoto.

    En la consulta anterior, el puerto 3310 es el puerto del host remoto donde se iniciará el proceso. El puerto 3306 es el puerto del servidor localhost.

  3. La opción -N se usa para reenviar los puertos de forma segura. El comando es para crear un túnel entre servidores locales y remotos.

mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name

La palabra clave mysqldump indica que la máquina host debe crear un volcado de base de datos. El volcado se forma una vez que se establece una conexión segura.

  1. La opción -P especifica el puerto donde la máquina remota establece la conexión. En el caso anterior el puerto es 3310.
  2. La opción -h indica el nombre de host del servidor remoto. Aquí la conexión se realiza mediante el proceso de tunelización.
  3. La opción -u indica que el siguiente argumento es el nombre de usuario que ayuda a establecer una conexión segura con el servidor remoto.
  4. La opción -p indica la contraseña a usar mientras se conecta al servidor remoto.

El nombre de la base de datos y el nombre de la tabla proporcionados en la declaración anterior indican el nombre de la tabla para volcarse en la máquina local desde el servidor remoto.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Artículo relacionado - MySQL Dump