Introducción
Secure Copy (SCP) es una técnica confiable que se utiliza para mover bases de datos entre dos servidores privados virtuales. Este método implica copiar archivos obtenidos a través del shell SSH y solo requiere unos pocos pasos. Sin embargo, transferir archivos entre dos servidores puede ser una actividad que requiere mucho tiempo, especialmente cuando se mueven grandes cantidades de datos.
Este tutorial le mostrará cómo usar el método SCP para mover sus bases de datos MySQL de un VPS o servidor dedicado a otro.
¿Listo? ¡Vamos a empezar!
Antes de que empieces
Para mover archivos con éxito en sus bases de datos MySQL, necesitará lo siguiente:
- Dos servidores privados virtuales; uno que albergará su base de datos MySQL y otro al que desea mover los archivos.
- También necesitará las contraseñas de ambos servidores.
Paso 1: haga una copia de seguridad de los archivos usando Mysqldump
mysqldump es una robusta utilidad que le ayuda a exportar sus datos y estructuras de base de datos a archivos de volcado SQL. Antes de intentar transferir sus archivos al nuevo VPS, use el comando de esta utilidad para hacer una copia de seguridad en el servidor original.
Para hacer un volcado de MySQL, ingrese el siguiente comando:
mysqldump-uroot-p--opt [database name] > [database name].sql
Nota:
- Deberías reemplazar el marcador de posición [database name] con el nombre real de su base de datos.
- En el comando anterior estamos usando un – Transacción única Marcar para evitar un bloqueo de la base de datos al exportar archivos. La marca –single-transaction inicia la transacción antes de la ejecución en lugar de bloquear la base de datos. Esto permite que mysqldump lea toda la base de datos en su estado actual en el momento de esta transacción, lo que permite un volcado consistente.
- El comando también solicita sus credenciales de usuario raíz (nombre de usuario y contraseña). Asegúrese de enviar esta información correctamente para iniciar el proceso.
Una vez que se complete el volcado, puede continuar con la transferencia.
Paso 2: haz una copia de seguridad del archivo de copia de seguridad
Sus datos son un activo valioso para su empresa. Por esta razón, no debe dejar desprotegidos los archivos de respaldo de la base de datos, ya que pueden ser filtrados accidentalmente o, peor aún, pirateados por alguien con intenciones malintencionadas.
Realice siempre una copia de seguridad del archivo de copia de seguridad lo antes posible. Aquí le mostraremos cómo cifrar y comprimir el archivo de respaldo antes de transferirlo al destino.
Primero, ejecute el siguiente comando para cifrar y comprimir el archivo de respaldo:
$ sudo zip --encrypt dump.zipdb.sql
Se le pedirá que proporcione su contraseña. Ingrese su contraseña para iniciar la compresión.
Paso 3: transfiera el archivo de respaldo
Su archivo de volcado ahora está protegido y comprimido. Puede mover este archivo de forma segura a un nuevo servidor virtual a través de su red. Para hacer esto, ejecute el siguiente comando SCP:
scp /path/to/source-file user@host:/path/to/destination-folder/
Paso 4: importar la base de datos
Ahora tiene el archivo de respaldo encriptado en el servidor de destino. Antes de extraer este archivo, primero debemos descifrarlo.
unzip -P your-password dump.zip
Una vez que el archivo está descifrado, ahora puede ejecutar el siguiente comando para importarlo:
mysql -u root -p newdatabase < /path/to/newdatabase.sql
¡Eso es! Su archivo se importará de forma segura en su nuevo servidor. Por razones de seguridad y almacenamiento, ahora puede prescindir del archivo de volcado original.
Paso 5: validación de los datos importados
Ahora que tiene su base de datos MySQL en su nuevo servidor, siempre es una buena idea revisarla para ver si los datos correctos realmente se han movido.
Para validar los datos, ejecute la siguiente consulta en las bases de datos nueva y antigua y luego compare los resultados.
SELECT TABLE_NAME, TABLE_ROWS FROM `information_schema`.`tables` WHERE `table_schema` = 'YOUR_DB_NAME';
Esta consulta le dice el número de filas en todas las tablas para proporcionar información sobre la cantidad de datos alojados en ambas bases de datos.
También puede verificar los registros en las columnas MIN y MAX en las tablas. Esto le ayudará a determinar la validez de los datos que se están moviendo.
Además, antes de mover la aplicación usted mismo, puede redirigir una única instancia de aplicación a su nueva base de datos para ver si todo está bien.
Conclusión
Ha movido con éxito y de forma segura su base de datos MySQL del antiguo servidor al nuevo servidor. Este proceso es simple, pero se debe tener cuidado para evitar la pérdida o el robo de datos.