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:
- Cloud SQL para MySQL
- MySQL autoalojado
- Amazon RDS para MySQL
- Amazon Aurora para MySQL
- Microsoft Azure Database for 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:
- 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áusulaDEFINER.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
DEFINERpodrían bloquear la migración. - Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema
mysql,performance_schema,information_schema,ndbinfoosys, 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. -
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:
- 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.
- 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.
- Database Migration Service requiere que
binlog_formatse establezca enROW. No es necesario que ajustes este parámetro de configuración, ya que Cloud SQL para MySQL establece automáticamente la marcabinlog_formatenROW. - 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
- MySQL 5.6 - 5.7:
- Database Migration Service requiere que
-
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.
- Permites que la cuenta de usuario dedicada se conecte desde cualquier host
(
-
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:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERRELOAD- Para las versiones de MySQL de origen 8.0 o posteriores: Asegúrate de que la cuenta de migración
no tenga el privilegio
BACKUP_ADMIN.
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:
- 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.
- 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áusulaDEFINER.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
DEFINERpodrían bloquear la migración. - Si tu base de datos de origen contiene objetos que hacen referencia
a tablas en los esquemas del sistema
mysql,performance_schema,information_schema,ndbinfoosys, 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. - Establece el parámetro de configuración
server-iden un valor de1o superior. Para obtener más información, consulta Opciones y variables de replicación y registro binario. -
Asegúrate de que
GTID_MODEesté establecido enONoOFF. No se admite ningún otro valor.Database Migration Service requiere que
GTID_MODEse establezca enONen las siguientes situaciones:- Cuando migras a una instancia de destino existente que tiene habilitadas réplicas de lectura
- Si deseas configurar réplicas de lectura en cascada después de completar el proceso de migración.
- Si planeas crear los archivos de volcado de forma manual y proporcionarlos en el trabajo de migración.
Para obtener más información sobre
GTID_MODE, consulta Variable del sistema de ID de transacción global. -
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_formaten'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
- MySQL 5.5 - 5.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.
- Permites que la cuenta de usuario dedicada se conecte desde cualquier host
(
-
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:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Para fuentes con el parámetro de configuración
GTID_MODE = ON:RELOADCon el flujo de volcado administrado, Database Migration Service requiere el parámetro de configuración
GTID_MODE = ONsolo cuando migras a una instancia de destino existente que tiene réplicas de lectura habilitadas. - Para las versiones de MySQL de origen 8.0 o posteriores: Asegúrate de que la cuenta de migración
no tenga el privilegio
BACKUP_ADMIN.
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:
- 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.
- 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áusulaDEFINER.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
DEFINERpodrían bloquear la migración. - Si tu base de datos de origen contiene objetos que hacen referencia
a tablas en los esquemas del sistema
mysql,performance_schema,information_schema,ndbinfoosys, 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. -
Asegúrate de que
GTID_MODEesté configurado comoONoOFF, ya que no se admite ningún otro valor. Amazon RDS para MySQL usaGTID_MODE = OFFde forma predeterminada.Database Migration Service requiere que
GTID_MODEse establezca enONen los siguientes casos:- Cuando migras a una instancia de destino existente que tiene habilitadas réplicas de lectura
- Si planeas crear manualmente los archivos de volcado y proporcionarlos en el trabajo de migración.
Para obtener más información sobre
GTID_MODE, consulta Variable del sistema de ID de transacción global. -
Verifica y configura los registros binarios en tu base de datos de origen. Haz lo siguiente:
- 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.
-
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.
- Reinicia el servidor para que se apliquen los cambios.
-
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.
- Permites que la cuenta de usuario dedicada se conecte desde cualquier host
(
-
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:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Para fuentes con el parámetro de configuración
GTID_MODE = ON:RELOADCon el flujo de volcado administrado, Database Migration Service requiere el parámetro de configuración
GTID_MODE = ONsolo cuando migras a una instancia de destino existente que tiene réplicas de lectura habilitadas. - Para las versiones de MySQL de origen 8.0 o posteriores: Asegúrate de que la cuenta de migración
no tenga el privilegio
BACKUP_ADMIN.
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:
- 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áusulaDEFINER.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
DEFINERpodrían bloquear tu migración. - Si tu base de datos de origen contiene objetos que hacen referencia
a tablas en los esquemas del sistema
mysql,performance_schema,information_schema,ndbinfoosys, 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. -
Asegúrate de que
GTID_MODEesté configurado comoONoOFF, ya que no se admite ningún otro valor. Amazon Aurora para MySQL usaGTID_MODE = OFFde forma predeterminada.Database Migration Service requiere que
GTID_MODEse establezca enONen las siguientes situaciones:- Cuando migras a una instancia de destino existente que tiene réplicas de lectura habilitadas.
- Si planeas crear los archivos de volcado de forma manual y proporcionarlos en el trabajo de migración
Para obtener más información sobre
GTID_MODE, consulta Variable de sistema de ID de transacción global. -
Habilita y configura los registros binarios en tu base de datos de origen. Haz lo siguiente:
- Habilita el registro binario para tu base de datos de MySQL.
-
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.
- Reinicia el servidor para que se apliquen los cambios.
-
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.
- Permites que la cuenta de usuario dedicada se conecte desde cualquier host
(
-
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:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGERLOCK TABLES- Para fuentes con el parámetro de configuración
GTID_MODE = ON:RELOADCon el flujo de volcado administrado, Database Migration Service requiere el parámetro de configuración
GTID_MODE = ONsolo cuando migras a una instancia de destino existente que tiene réplicas de lectura habilitadas. - Para las versiones de MySQL 8.0 o posteriores de origen: Asegúrate de que la cuenta de migración no tenga el privilegio
BACKUP_ADMIN.
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:
- 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áusulaDEFINER.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
DEFINERpodrían bloquear la migración. - Si tu base de datos de origen contiene objetos que hacen referencia a tablas en los esquemas del sistema
mysql,performance_schema,information_schema,ndbinfoosys, 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. -
Asegúrate de que
GTID_MODEesté establecido enONoOFF. No se admite ningún otro valor. Microsoft Azure Database for MySQL usaGTID_MODE = OFFde forma predeterminada.Database Migration Service requiere que
GTID_MODEse establezca enONen las siguientes situaciones:- Cuando migras a una instancia de destino existente que tiene réplicas de lectura habilitadas.
- Si planeas crear los archivos de volcado de forma manual y proporcionarlos en el trabajo de migración.
Para obtener más información sobre
GTID_MODE, consulta Variable del sistema de ID de transacción global. -
Verifica y configura los parámetros de configuración del registro binario en tu base de datos de origen. Haz lo siguiente:
- 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.
-
Establece
binlog_expire_logs_secondsen 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_secondsen la documentación de Microsoft. - Reinicia el servidor para que se apliquen los cambios.
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_transportse establece enon, selecciona Básico, TLS o mTLS. - Si
require_secure_transportse establece enoff, selecciona Ninguno.
- Si
-
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.
- Permites que la cuenta de usuario dedicada se conecte desde cualquier host
(
-
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:
REPLICATION SLAVEEXECUTEREPLICATION CLIENTSELECTSHOW VIEWTRIGGER- Para fuentes con el parámetro de configuración
GTID_MODE = ON:RELOADCon el flujo de volcado administrado, Database Migration Service requiere el parámetro de configuración
GTID_MODE = ONsolo cuando migras a una instancia de destino existente que tiene habilitadas réplicas de lectura. - Para las versiones de MySQL 8.0 o posteriores de origen: Asegúrate de que la cuenta de migración no tenga el privilegio
BACKUP_ADMIN.
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.