Configura tu base de datos de MySQL de origen para migraciones continuas

En esta página, se describe cómo configurar las siguientes instancias de base de datos de origen para migraciones homogéneas continuas de MySQL:

Configura una fuente de Cloud SQL para MySQL

Para configurar una instancia de origen de Cloud SQL para MySQL para tu proceso de migración, haz lo siguiente:

  1. Verifica si tu base de datos de origen contiene metadatos definidos por los usuarios con la cláusula DEFINER. Consulta Verifica los metadatos con una cláusula DEFINER.

    Database Migration Service para migraciones homogéneas de MySQL no migra cuentas de usuario ni accesos. Las fuentes que contienen metadatos definidos por cuentas de usuario con la cláusula DEFINER podrían bloquear la migración.

  2. Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema mysql, performance_schema, information_schema, ndbinfo o sys, asegúrate de que las bases de datos de réplica también contengan estas tablas de esquemas del sistema.

    Si las bases de datos de réplica no tienen estas tablas, es posible que el trabajo de migración falle con el error Unknown table in system schema .

  3. Habilita y configura los registros binarios en tu base de datos de origen.

    En Cloud SQL para MySQL, el registro binario se habilita de forma automática cuando usas la recuperación de un momento determinado (PITR). Puedes configurar el formato de registro y el período de retención con las marcas del sistema disponibles en Cloud SQL. Haz lo siguiente:

    1. Habilita la PITR en tu instancia. Esta función habilita automáticamente el registro binario. No es posible habilitar el registro binario sin la PITR en Cloud SQL. Consulta Recuperación de un momento determinado (PITR) en la documentación de Cloud SQL.
    2. Usa las marcas de Cloud SQL para ajustar la configuración de los registros. Para obtener más detalles, consulta Configura marcas de base de datos en la documentación de Cloud SQL.
      1. Database Migration Service requiere que binlog_format se establezca en ROW. No es necesario que ajustes este parámetro de configuración, ya que Cloud SQL para MySQL establece automáticamente la marca binlog_format en ROW.
      2. Establece el período de retención de registros en un período lo suficientemente largo como para admitir la migración de la base de datos. Por lo general, una semana es suficiente. Usa una de las siguientes marcas:
        • MySQL 5.6 - 5.7: expire_logs_days
        • MySQL 8.0 y versiones posteriores: expire_logs_days, binlog_expire_logs_seconds
  4. Crea una cuenta de usuario de migración dedicada en tu instancia. Consulta Crea un usuario en la documentación de Cloud SQL. Asegúrate de cumplir con estas condiciones:

    • Permites que la cuenta de usuario dedicada se conecte desde cualquier host (host=%).
    • La contraseña de la cuenta no supera los 32 caracteres. Para obtener más información sobre las limitaciones de longitud de la contraseña de usuario de MySQL, consulta el error #43439 de MySQL.
  5. Asigna los privilegios necesarios a la cuenta de usuario de migración dedicada. En el caso de las migraciones continuas, la lista completa de privilegios requeridos depende de si proporcionas tus propios archivos de volcado o usas la función de volcado administrado de Database Migration Service:

    Volcado administrado

    Si deseas que Database Migration Service realice automáticamente el volcado completo de tu base de datos de origen, asigna los siguientes privilegios a la cuenta de usuario:

    Volcado manual

    Si proporcionas tus propios archivos de volcado creados con mysqldump, debes proporcionar los privilegios necesarios para la fase de CDC:

Configura una fuente de MySQL autoalojada

Para configurar una instancia de origen de MySQL autohospedada para tu proceso de migración, haz lo siguiente:

  1. Asegúrate de que todas tus tablas (excepto las tablas de las bases de datos del sistema) usen el motor de almacenamiento InnoDB. Si usas un motor de almacenamiento diferente, es posible que debas convertir tus tablas. Para obtener más información, consulta Cómo convertir tablas de MyISAM a InnoDB.
  2. Verifica si tu base de datos de origen contiene metadatos definidos por los usuarios con la cláusula DEFINER. Consulta Verifica los metadatos con una cláusula DEFINER.

    Database Migration Service para migraciones homogéneas de MySQL no migra cuentas de usuario ni accesos. Las fuentes que contienen metadatos definidos por cuentas de usuario con la cláusula DEFINER podrían bloquear la migración.

  3. Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema mysql, performance_schema, information_schema, ndbinfo o sys, asegúrate de que las bases de datos de réplica también contengan estas tablas de esquema del sistema.

    Si las bases de datos de réplica no tienen estas tablas, es posible que el trabajo de migración falle con el error Unknown table in system schema .

  4. Establece el parámetro de configuración server-id en un valor de 1 o superior. Para obtener más información, consulta Opciones y variables de replicación y registro binario.
  5. Asegúrate de que GTID_MODE esté establecido en ON o OFF. No se admite ningún otro valor.

    Database Migration Service requiere que GTID_MODE se establezca en ON en las siguientes situaciones:

    Para obtener más información sobre GTID_MODE, consulta Variable del sistema de ID de transacción global.

  6. Habilita y configura los registros binarios en tu base de datos de origen. Haz lo siguiente:

      • Habilita los registros binarios en tu base de datos de origen.
      • Establece binlog_format en 'ROW'. Consulta Registro binario basado en filas.
      • Establece el período de retención de registros en un período lo suficientemente largo como para admitir la migración de la base de datos. Por lo general, una semana es suficiente. Usa una de las siguientes marcas:
        • MySQL 5.5 - 5.7: expire_logs_days
        • MySQL 8.0: expire_logs_days, binlog_expire_logs_seconds
  7. Crea una cuenta de usuario de migración dedicada en tu instancia. Consulta Declaraciones de administración de cuentas. Asegúrate de cumplir con estas condiciones:

    • Permites que la cuenta de usuario dedicada se conecte desde cualquier host (host=%).
    • La contraseña de la cuenta no debe tener más de 32 caracteres. Para obtener más información sobre las limitaciones de longitud de la contraseña de usuario de MySQL, consulta el error de MySQL nº 43439.
  8. Asigna los privilegios necesarios a la cuenta de usuario de migración dedicada. Para las migraciones continuas, la lista completa de privilegios requeridos depende de si proporcionas tus propios archivos de volcado o usas la función de volcado administrado de Database Migration Service:

    Volcado administrado

    Si deseas que Database Migration Service realice automáticamente el volcado completo de tu base de datos de origen, asigna los siguientes privilegios a la cuenta de usuario:

    Volcado manual

    Si proporcionas tus propios archivos de volcado creados con mysqldump, debes proporcionar los privilegios necesarios para la fase de CDC:

Configura una fuente de Amazon RDS para MySQL

Para configurar una instancia de origen de Amazon RDS para MySQL para tu proceso de migración, haz lo siguiente:

  1. Amazon RDS para MySQL usa el motor de almacenamiento InnoDB de forma predeterminada, pero permite usar otros motores de almacenamiento. Asegúrate de que todas tus tablas (excepto las de las bases de datos del sistema) usen el motor de almacenamiento InnoDB. Si usas un motor de almacenamiento diferente, es posible que debas convertir tus tablas. Para obtener más información, consulta Cómo convertir tablas de MyISAM a InnoDB.
  2. Verifica si tu base de datos de origen contiene metadatos definidos por los usuarios con la cláusula DEFINER. Consulta Verifica los metadatos con una cláusula DEFINER.

    Database Migration Service para migraciones homogéneas de MySQL no migra cuentas de usuario ni accesos. Las fuentes que contienen metadatos definidos por cuentas de usuario con la cláusula DEFINER podrían bloquear la migración.

  3. Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema mysql, performance_schema, information_schema, ndbinfo o sys, asegúrate de que las bases de datos de réplica también contengan estas tablas de esquema del sistema.

    Si las bases de datos de réplica no tienen estas tablas, es posible que tu trabajo de migración falle con el error Unknown table in system schema .

  4. Asegúrate de que GTID_MODE esté configurado como ON o OFF, ya que no se admite ningún otro valor. Amazon RDS para MySQL usa GTID_MODE = OFF de forma predeterminada.

    Database Migration Service requiere que GTID_MODE se establezca en ON en los siguientes casos:

    Para obtener más información sobre GTID_MODE, consulta Variable del sistema de ID de transacción global.

  5. Verifica y configura los registros binarios en tu base de datos de origen. Haz lo siguiente:

    1. Asegúrate de que tu instancia use copias de seguridad automáticas. Amazon RDS genera registros binarios solo cuando las copias de seguridad automáticas están habilitadas. Para obtener más información, consulta Habilita las copias de seguridad automáticas en la documentación de Amazon RDS.
    2. Establece el período de retención de registros en un período lo suficientemente largo como para admitir la migración de la base de datos. Por lo general, una semana es suficiente. Consulta Establece y muestra la configuración del registro binario en la documentación de Amazon RDS.

    3. Reinicia el servidor para que se apliquen los cambios.
  6. Crea una cuenta de usuario de migración dedicada en tu instancia. Consulta Declaraciones de administración de cuentas. Asegúrate de cumplir con estas condiciones:

    • Permites que la cuenta de usuario dedicada se conecte desde cualquier host (host=%).
    • La contraseña de la cuenta no debe tener más de 32 caracteres. Para obtener más información sobre las limitaciones de longitud de la contraseña de usuario de MySQL, consulta el error de MySQL nº 43439.
  7. Asigna los privilegios necesarios a la cuenta de usuario de migración dedicada. Para las migraciones continuas, la lista completa de privilegios requeridos depende de si proporcionas tus propios archivos de volcado o usas la función de volcado administrado de Database Migration Service:

    Volcado administrado

    Si quieres que Database Migration Service realice automáticamente el volcado completo de tu base de datos de origen, asigna los siguientes privilegios a la cuenta de usuario:

    Volcado manual

    Si proporcionas tus propios archivos de volcado creados con mysqldump, debes proporcionar los privilegios necesarios para la fase de CDC:

Configura una fuente de Amazon Aurora para MySQL

Para configurar una instancia de origen de Amazon Aurora para MySQL para tu proceso de migración, haz lo siguiente:

  1. Verifica si tu base de datos de origen contiene metadatos definidos por los usuarios con la cláusula DEFINER. Consulta Verifica los metadatos con una cláusula DEFINER.

    Database Migration Service para migraciones homogéneas de MySQL no migra cuentas de usuario ni accesos. Las fuentes que contienen metadatos definidos por cuentas de usuario con la cláusula DEFINER podrían bloquear tu migración.

  2. Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema mysql, performance_schema, information_schema, ndbinfo o sys, asegúrate de que las bases de datos de réplica también contengan estas tablas de esquemas del sistema.

    Si las bases de datos de réplica no tienen estas tablas, es posible que tu trabajo de migración falle con el error Unknown table in system schema .

  3. Asegúrate de que GTID_MODE esté configurado como ON o OFF, ya que no se admite ningún otro valor. Amazon Aurora para MySQL usa GTID_MODE = OFF de forma predeterminada.

    Database Migration Service requiere que GTID_MODE se establezca en ON en las siguientes situaciones:

    Para obtener más información sobre GTID_MODE, consulta Variable de sistema de ID de transacción global.

  4. Habilita y configura los registros binarios en tu base de datos de origen. Haz lo siguiente:

    1. Habilita el registro binario para tu base de datos de MySQL.
    2. Establece el período de retención de registros en un período lo suficientemente largo como para admitir la migración de la base de datos. Por lo general, una semana es suficiente. Consulta Establece y muestra la configuración del registro binario.

    3. Reinicia el servidor para que se apliquen los cambios.
  5. Crea una cuenta de usuario de migración dedicada en tu instancia. Consulta Declaraciones de administración de cuentas. Asegúrate de cumplir con estas condiciones:

    • Permites que la cuenta de usuario dedicada se conecte desde cualquier host (host=%).
    • La contraseña de la cuenta no debe tener más de 32 caracteres. Para obtener más información sobre las limitaciones de longitud de la contraseña de usuario de MySQL, consulta el error de MySQL nº 43439.
  6. Asigna los privilegios necesarios a la cuenta de usuario de migración dedicada. Para las migraciones continuas, la lista completa de privilegios requeridos depende de si proporcionas tus propios archivos de volcado o usas la función de volcado administrado de Database Migration Service:

    Volcado administrado

    Si quieres que Database Migration Service realice automáticamente el volcado completo de tu base de datos de origen, asigna los siguientes privilegios a la cuenta de usuario:

    Volcado manual

    Si proporcionas tus propios archivos de volcado creados con mysqldump, debes proporcionar los privilegios necesarios para la fase de CDC:

Configura una fuente de Microsoft Azure Database for MySQL

Para configurar una instancia de origen de Microsoft Azure Database for MySQL para tu proceso de migración, haz lo siguiente:

  1. Verifica si tu base de datos de origen contiene metadatos definidos por los usuarios con la cláusula DEFINER. Consulta Verifica los metadatos con una cláusula DEFINER.

    Database Migration Service para migraciones homogéneas de MySQL no migra cuentas de usuario ni accesos. Las fuentes que contienen metadatos definidos por cuentas de usuario con la cláusula DEFINER podrían bloquear la migración.

  2. Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema mysql, performance_schema, information_schema, ndbinfo o sys, asegúrate de que las bases de datos de réplica también contengan estas tablas de esquemas del sistema.

    Si las bases de datos de réplica no tienen estas tablas, es posible que el trabajo de migración falle con el error Unknown table in system schema .

  3. Asegúrate de que GTID_MODE esté establecido en ON o OFF. No se admite ningún otro valor. Microsoft Azure Database for MySQL usa GTID_MODE = OFF de forma predeterminada.

    Database Migration Service requiere que GTID_MODE se establezca en ON en las siguientes situaciones:

    Para obtener más información sobre GTID_MODE, consulta Variable del sistema de ID de transacción global.

  4. Verifica y configura los parámetros de configuración del registro binario en tu base de datos de origen. Haz lo siguiente:

    1. El registro binario está habilitado de forma predeterminada en Microsoft Azure Database for MySQL. No es necesario que la habilites, pero confirma que la función esté habilitada. Para obtener más información, consulta la documentación de Microsoft.
    2. Establece binlog_expire_logs_seconds en un período lo suficientemente largo como para admitir la migración de la base de datos. Por lo general, una semana es suficiente.

      Para obtener más información, consulta Configura los parámetros del servidor en la base de datos de Azure para MySQL y el parámetro binlog_expire_logs_seconds en la documentación de Microsoft.

    3. Reinicia el servidor para que se apliquen los cambios.
  5. Verifica el valor de tu parámetro de configuración require_secure_transport.

    De forma predeterminada, las bases de datos de Microsoft Azure requieren la encriptación SSL/TLS para todas las conexiones entrantes. Según el valor de require_secure_transport, usa uno de los siguientes parámetros de configuración de encriptación cuando crees el perfil de conexión de origen:

    • Si require_secure_transport se establece en on, selecciona Básico, TLS o mTLS.
    • Si require_secure_transport se establece en off, selecciona Ninguno.
  6. Crea una cuenta de usuario de migración dedicada en tu instancia. Consulta Declaraciones de administración de cuentas. Asegúrate de cumplir con estas condiciones:

    • Permites que la cuenta de usuario dedicada se conecte desde cualquier host (host=%).
    • La contraseña de la cuenta no supera los 32 caracteres. Para obtener más información sobre las limitaciones de longitud de la contraseña de usuario de MySQL, consulta el error de MySQL nº 43439.
  7. Asigna los privilegios necesarios a la cuenta de usuario de migración dedicada. Para las migraciones continuas, la lista completa de privilegios requeridos depende de si proporcionas tus propios archivos de volcado o usas la función de volcado administrado de Database Migration Service:

    Volcado administrado

    Si deseas que Database Migration Service realice automáticamente el volcado completo de tu base de datos de origen, asigna los siguientes privilegios a la cuenta de usuario:

    Volcado manual

    Si proporcionas tus propios archivos de volcado creados con mysqldump, debes proporcionar los privilegios necesarios para la fase de CDC:

¿Qué sigue?

Para obtener una explicación completa y paso a paso de la migración homogénea de Cloud SQL para MySQL, consulta Comienza a usar las migraciones de Cloud SQL para MySQL.