Database Migration Service usa trabajos de migración para migrar datos de tu instancia de base de datos de origen a la instancia de base de datos de destino. La creación de un trabajo de migración para una instancia de destino existente incluye lo siguiente:
- Define la configuración del trabajo de migración
- Selecciona el perfil de conexión de la base de datos de origen.
- Selecciona la instancia de base de datos de destino existente
- Desciende el nivel de la instancia existente para convertirla en una réplica de lectura
- Configura la conectividad entre las instancias de base de datos de origen y de destino
- Probar el trabajo de migración para asegurarte de que la información de conexión que proporcionaste para el trabajo sea válida
Existen ciertas limitaciones que debes considerar cuando quieras migrar a una instancia de destino creada fuera de Database Migration Service. Por ejemplo, tu instancia de destino de Cloud SQL debe estar vacía o contener solo datos de configuración del sistema. Para obtener más información, consulta Limitaciones conocidas.
Define la configuración del trabajo de migración
- En la consola de Google Cloud, ve a la página Trabajos de migración.
- Haz clic en Crear trabajos de migración.
Se abrirá la página del asistente de configuración del trabajo de migración. Este asistente contiene varios paneles que te guían por cada paso de configuración.
Puedes pausar la creación de un trabajo de migración en cualquier momento haciendo clic en GUARDAR Y SALIR. Todos los datos que ingreses hasta ese punto se guardarán en un borrador de trabajo de migración. Puedes terminar el trabajo de migración de borrador más tarde.
- En la página Primeros pasos, ingresa la siguiente información:
- Nombre del trabajo de migración
Es un nombre legible para tu trabajo de migración. Este valor se muestra en la consola de Google Cloud.
- ID del trabajo de migración
Este es un identificador legible por máquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI de Database Migration Service.
- En la lista Motor de base de datos de origen, selecciona
MySQL.
El campo Motor de base de datos de destino se propaga automáticamente y no se puede cambiar.
- Selecciona la región en la que guardas el trabajo de migración.
Database Migration Service es un producto completamente regional, lo que significa que todas las entidades relacionadas con tu migración (perfiles de conexión de origen y destino, trabajos de migración y bases de datos de destino) deben guardarse en una sola región. Selecciona la región según la ubicación de los servicios que necesitan tus datos, como instancias de Compute Engine o apps de App Engine, entre otros. Después de elegir la región de destino, esta selección no se puede cambiar.
- Nombre del trabajo de migración
- Haz clic en Guardar y continuar.
Especifica la información sobre el perfil de conexión de origen
En la página Define una fuente, realiza los siguientes pasos:
- En el menú desplegable Perfil de conexión de origen, selecciona el perfil de conexión de tu base de datos de origen.
- En la sección Personaliza la configuración de volcado completo, haz clic en Editar configuración.
- En el panel Editar la configuración de volcado completo, en el menú desplegable Método de volcado completo, selecciona una de las siguientes opciones:
- Basada en física: Selecciona esta opción si deseas usar la utilidad Percona XtraBackup para proporcionar tu propio archivo de copia de seguridad. Este enfoque requiere pasos de preparación adicionales. Para obtener la guía completa sobre el uso de los archivos de copia de seguridad físicos que genera Percona XtraBackup, consulta Cómo migrar tus bases de datos con un archivo físico de Percona XtraBackup.
- Basada en lógica: Selecciona esta opción si deseas usar un archivo de copia de seguridad lógico creado por la utilidad
mysqldump
. Database Migration Service puede generar automáticamente este archivo de copia de seguridad por ti, o bien puedes proporcionar tu propia copia.
- Edita el resto de la configuración de volcado. Realiza una de las siguientes acciones:
- Si usas el archivo de copia de seguridad física, en Proporciona tu carpeta, haz clic en Explorar y, luego, selecciona la carpeta en la que subiste el archivo de volcado completo. Asegúrate de seleccionar la carpeta dedicada que contiene el archivo de copia de seguridad completo, no el bucket de almacenamiento.
Si usas un archivo de copia de seguridad lógico, configura el paralelismo de volcado de datos o las marcas de volcado.
Expande esta sección para ver los pasos completos del archivo de copia de seguridad lógica
En la sección Elige cómo generar el archivo de volcado, usa una de las siguientes opciones:
Generado automáticamente (recomendado)
Se recomienda esta opción porque Database Migration Service siempre genera un archivo de volcado de base de datos inicial después de que se crea y se inicia el trabajo de migración.
Database Migration Service usa este archivo para reproducir los datos de la tabla y las definiciones de objetos originales de tu base de datos de origen, de modo que esta información se pueda migrar a una instancia de base de datos de Cloud SQL de destino.
Si usas el volcado generado automáticamente, selecciona el tipo de operación que debe realizar Database Migration Service en la sección Configurar operación de volcado de datos:
- Paralelismo de volcado de datos: Usa una opción de paralelismo de alto rendimiento, disponible cuando se migra a las versiones 5.7 o 8 de MySQL.
La velocidad del paralelismo de datos se relaciona con la cantidad de carga que se induce en la base de datos de origen:
- Óptimo (recomendado): Rendimiento equilibrado con una carga óptima en la base de datos de origen.
- Máximo: Proporciona las velocidades de volcado más altas, pero podría aumentar la carga en la base de datos de origen.
- Mínimo: Toma la menor cantidad de recursos de procesamiento en la base de datos de origen, pero podría tener una capacidad de procesamiento de volcado más lenta.
- Marcas de volcado: Esta opción es exclusiva de Paralelismo de volcado de datos.
Usa este parámetro de configuración para configurar directamente marcas para la utilidad
mysqldump
que se usa para crear el archivo de volcado.Para agregar una marca, haz lo siguiente:
- Haz clic en AGREGAR MARCA.
Selecciona una de las siguientes marcas:
add-locks:
Esta marca rodea cada tabla que se incluye en el archivo de volcado con instruccionesLOCK TABLES
yUNLOCK TABLES
. Esto genera inserciones más rápidas cuando se carga el archivo de volcado en la instancia de destino.ignore-error:
Usa esta marca para ingresar una lista de números de error separados por comas. Estos números representan los errores que ignorará la utilidadmysqldump
.max-allowed-packet:
Usa esta marca para establecer el tamaño máximo del búfer para la comunicación entre el cliente de MySQL y la base de datos de MySQL de origen. El tamaño predeterminado del búfer es de 24 MB y el máximo es de 1 GB.
- Haz clic en LISTO.
- Repite estos pasos para cada marca que desees agregar.
Para quitar una marca, haz clic en el ícono de la papelera a la derecha de la fila que contiene la marca.
- Paralelismo de volcado de datos: Usa una opción de paralelismo de alto rendimiento, disponible cuando se migra a las versiones 5.7 o 8 de MySQL.
Proporciona los tuyos
No se recomienda esta opción porque, de forma predeterminada, Database Migration Service realiza un volcado inicial como parte de la ejecución del trabajo de migración.
Si quieres usar tu propio archivo de volcado, selecciona Proporcionar tu propio archivo, haz clic en EXPLORAR, selecciona tu archivo (o toda la carpeta de Cloud Storage si usas varios archivos) y, luego, haz clic en SELECCIONAR.
Asegúrate de que el volcado se haya generado en las últimas 24 horas y cumpla con los requisitos de volcado.
- Haz clic en Guardar y continuar.
Selecciona la instancia de Cloud SQL de destino
- En el menú Type of destination instance, selecciona Existing instance.
- En la sección Seleccionar instancia de destino, selecciona tu instancia de destino.
- Revisa la información en la sección Detalles de la instancia y haz clic en Seleccionar y continuar.
- Para migrar a una base de datos de destino existente, Database Migration Service desciende el nivel de la instancia de destino y la convierte en una réplica. Para indicar que la baja de nivel se puede realizar de forma segura, en la ventana de confirmación, ingresa el identificador de la instancia de destino.
- Haz clic en Confirmar y continuar.
Configura la conectividad entre las instancias de base de datos de origen y de destino
En el menú desplegable Método de conectividad, selecciona un método de conectividad de red. Este método define cómo la instancia de Cloud SQL recién creada se conectará a la base de datos fuente. Los métodos de conectividad de red actuales incluyen la lista de IP permitidas, el túnel SSH inverso y el intercambio de tráfico entre VPC.
Si quieres usar… | Luego… |
---|---|
El método de conectividad de red de la lista de IP permitidas | Debes especificar la dirección IP saliente de tu instancia de destino. Si la instancia de Cloud SQL que creaste es una instancia de alta disponibilidad, incluye las direcciones IP salientes de la instancia principal y la secundaria. |
El método de conectividad de red de túnel SSH inverso | Debes seleccionar la instancia de VM de Compute Engine que alojará el túnel.
Después de especificar la instancia, Google proporcionará una secuencia de comandos que realizará los pasos para configurar el túnel entre las bases de datos de origen y de destino. Deberás ejecutar la secuencia de comandos en Google Cloud CLI. Ejecuta los comandos desde una máquina que tenga conectividad con la base de datos de origen y con Google Cloud. |
El método de conectividad de red de intercambio de tráfico de VPC | Debes seleccionar la red de VPC en la que se encuentra la base de datos fuente. La instancia de Cloud SQL se actualizará para conectarse a esta red. |
Después de seleccionar y configurar la conectividad de red, haz clic en Configurar y continuar.
Prueba, crea y ejecuta el trabajo de migración
En este último paso, revisa el resumen de la configuración del trabajo de migración, la fuente, el destino y el método de conectividad, y, luego, prueba la validez de la configuración del trabajo de migración. Si se produce algún problema, puedes modificar la configuración del trabajo de migración. No todos los parámetros de configuración se pueden editar.
-
En la página Probar y crear trabajo de migración, haz clic en Probar trabajo.
Si la prueba falla, puedes abordar el problema en la parte adecuada del flujo y volver a realizar la prueba. Para obtener información sobre la solución de problemas de una prueba de trabajo de migración que falla, consulta Cómo diagnosticar problemas de MySQL.
-
Cuando finalice la prueba del trabajo de migración, haz clic en Crear y comenzar trabajo para crearlo y comenzarlo de inmediato, o bien en Crear trabajo para crearlo sin iniciarlo de inmediato.
Si el trabajo no se inicia en el momento en que se crea, se puede iniciar desde la página Trabajos de migración haciendo clic en INICIAR. Independientemente de cuándo se inicie el trabajo de migración, a tu organización se le cobrará por la existencia de la instancia de destino.
La migración está en curso. Cuando inicias el trabajo de migración, Database Migration Service comienza el volcado completo y bloquea brevemente la base de datos de origen. Si tu fuente se encuentra en Amazon RDS o Amazon Aurora, Database Migration Service requiere, además, un tiempo de inactividad breve (aproximadamente inferior a un minuto) de las operaciones de escritura al inicio de la migración. Para obtener más información, consulta Limitaciones conocidas.
- Continúa con Revisar el trabajo de migración.
Crea un trabajo de migración con Google Cloud CLI
Cuando migras a una instancia existente con Google Cloud CLI, debes crear manualmente el perfil de conexión de la instancia de destino. Esto no es obligatorio cuando usas la consola de Google Cloud, ya que Database Migration Service se encarga de crear y quitar el perfil de conexión de destino por ti.
Antes de comenzar
Antes de usar gcloud CLI para crear un trabajo de migración a una instancia de base de datos de destino existente, asegúrate de lo siguiente:
- Crea la instancia de base de datos de destino.
- Prepara la instancia de la base de datos de origen. Consulta:
- Configura tu fuente
- Crea el perfil de conexión de origen (se requiere el identificador del perfil de conexión de origen para crear un trabajo de migración).
- Configura la conectividad
Crea un perfil de conexión de destino
Ejecuta el comando gcloud database-migration connection-profiles create
para crear el perfil de conexión de destino de tu instancia de destino existente:
En este ejemplo, se usa la marca opcional --no-async
para que todas las operaciones
se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar un poco en completarse. Puedes omitir la marca --no-async
para ejecutar comandos de forma asíncrona.
Si es así, debes usar el comando gcloud database-migration operations describe
para verificar si la operación se realizó de forma correcta.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- CONNECTION_PROFILE_ID con un identificador legible por máquina para tu perfil de conexión.
- REGION con el identificador de la región en la que deseas guardar el perfil de conexión.
- DESTINATION_INSTANCE_ID por el identificador de la instancia de destino.
- CONNECTION_PROFILE_NAME (opcional) con un nombre legible por humanos para tu perfil de conexión Este valor se muestra en la consola de Google Cloud.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --cloudsql-instance=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --cloudsql-instance=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --cloudsql-instance=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Deberías recibir una respuesta similar a la que figura a continuación:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Crea el trabajo de migración
En este ejemplo, se usa la marca opcional --no-async
para que todas las operaciones
se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar un poco en completarse. Puedes omitir la marca --no-async
para ejecutar comandos de forma asíncrona.
Si es así, debes usar el comando gcloud database-migration operations describe
para verificar si la operación se realizó de forma correcta.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID con un identificador legible por máquinas para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración mediante los comandos o la API de Google Cloud CLI de Database Migration Service.
- REGION por el identificador de región en el que deseas guardar la tarea de migración.
- MIGRATION_JOB_NAME por un nombre legible para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de Google Cloud.
- SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquinas del perfil de conexión de origen.
- DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
- MIGRATION_JOB_TYPE con el tipo de trabajo de migración. Se permiten dos valores:
ONE_TIME
oCONTINUOUS
. Para obtener más información, consulta Tipos de migración.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=MIGRATION_JOB_TYPE \
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=MIGRATION_JOB_TYPE `
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=MIGRATION_JOB_TYPE ^
Deberías recibir una respuesta similar a la que figura a continuación:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Cómo degradar la base de datos de destino
Database Migration Service requiere que la instancia de base de datos de destino funcione como una réplica de lectura durante el tiempo de la migración. Antes de iniciar el trabajo de migración, ejecuta el comando gcloud database-migration migration-jobs demote-destination
para degradar la instancia de la base de datos de destino.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todas las tareas de migración en una región determinada y ver sus identificadores. - REGION por el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando muestra una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Para ver si la operación se realizó correctamente, puedes consultar el objeto de operación que se muestra o verificar el estado de la tarea de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
para ver el estado del trabajo de migración. - Usa
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Administrar trabajos de migración
En este punto, tu trabajo de migración está configurado y conectado a la instancia de base de datos de destino. Puedes administrarlo con las operaciones verify
, start
, stop
, restart
y resume
.
Verifica el trabajo de migración
Te recomendamos que primero verifiques tu trabajo de migración. Para ello, ejecuta el comando
gcloud database-migration migration-jobs verify
.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todas las tareas de migración en una región determinada y ver sus identificadores. - REGION por el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando muestra una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Para ver si la operación se realizó correctamente, puedes consultar el objeto de operación que se muestra o verificar el estado de la tarea de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado de la tarea de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Inicia el trabajo de migración
Ejecuta el comando
gcloud database-migration migration-jobs start
para iniciar el trabajo de migración.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todas las tareas de migración en una región determinada y ver sus identificadores. - REGION por el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando muestra una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Para ver si la operación se realizó correctamente, puedes consultar el objeto de operación que se muestra o verificar el estado de la tarea de migración:
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado de la tarea de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.
Promociona el trabajo de migración
Una vez que la migración llegue a la fase de captura de datos modificados (CDC), podrás ascender la instancia de la base de datos de destino de una réplica de lectura a una instancia independiente.
Ejecuta el comando gcloud database-migration migration-jobs promote
:
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- MIGRATION_JOB_ID por el identificador de tu trabajo de migración.
Si no conoces el identificador, puedes usar el comando
gcloud database-migration migration-jobs list
para enumerar todas las tareas de migración en una región determinada y ver sus identificadores. - REGION por el identificador de la región en la que se guarda tu perfil de conexión.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
Resultado
La acción se realiza de forma asíncrona. Por lo tanto, este comando muestra una entidad de operación que representa una operación de larga duración:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
- Usa el comando
gcloud database-migration migration-jobs describe
con MIGRATION_JOB_ID para ver el estado de la tarea de migración. - Usa el comando
gcloud database-migration operations describe
con OPERATION_ID para ver el estado de la operación.