Base de datos remota de volcado de MySQL
- ¿Qué es el volcado de MySQL?
- Diferente sintaxis de MySQL Dump
- Volcado de MySQL desde el servidor remoto a la máquina local
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:
- Debe haber todos los privilegios de acceso a la base de datos, funciones, vistas, disparadores para usar la utilidad.
- 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.
- 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. - 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ónu
y guiónp
para indicar los atributos de usuario y contraseña en la lista de opciones. Elroot
es el nombre de usuario establecido en MySQL, y la contraseña es la elección del usuario. - 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. - 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.
- 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. - El símbolo
>
especifica que la salida de la primera sección debe pasar al archivo proporcionado después del operador. - 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
.
-
La opción
-f
permite que el proceso pase a segundo plano antes de la ejecución real del proceso. -
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 puerto3306
es el puerto del servidor localhost. -
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.
- La opción
-P
especifica el puerto donde la máquina remota establece la conexión. En el caso anterior el puerto es3310
. - La opción
-h
indica el nombre de host del servidor remoto. Aquí la conexión se realiza mediante el proceso de tunelización. - 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. - 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 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