Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de una base SQL de datos compatible con My como destino para AWS Database Migration Service
Puede migrar datos a cualquier base SQL de datos compatible con My mediante AWS DMS cualquiera de los motores de datos de origen compatibles AWS DMS . Si va a migrar a una base de datos local SQL compatible con My, necesitará que su motor de origen resida en el ecosistema. AWS DMS AWS El motor puede estar en un servicio AWS gestionado como AmazonRDS, Amazon Aurora o Amazon S3. O el motor puede estar en una base de datos autogestionada en AmazonEC2.
Puede utilizarlo SSL para cifrar las conexiones entre su terminal SQL compatible con My y la instancia de replicación. Para obtener más información sobre el uso SSL con un dispositivo de punto final SQL compatible con My, consulte. Utilizándolo con SSL AWS Database Migration Service
Para obtener información sobre las versiones de My SQL AWS DMS compatibles como destino, consulteObjetivos para AWS DMS.
Puede utilizar las siguientes bases de datos SQL compatibles con My como destinos para AWS DMS:
-
Edición My SQL Community
-
Mi edición SQL estándar
-
Mi edición SQL empresarial
-
Edición My SQL Cluster Carrier Grade
-
MariaDB Community Edition
-
MariaDB Enterprise Edition
-
Column Store de MariaDB
-
Amazon Aurora (My) SQL
nota
Independientemente del motor de almacenamiento de origen (My ISAMMEMORY, etc.), AWS DMS crea una tabla de destino SQL compatible con My como tabla de InnoDB de forma predeterminada.
Si necesita una tabla en un motor de almacenamiento que no sea InnoDB, puede crear manualmente la tabla en el destino SQL compatible con My y migrar la tabla con la opción No hacer nada. Para obtener más información, consulte Configuración de tareas de carga completa.
Para obtener más información sobre cómo trabajar con una base SQL de datos compatible con My como destino AWS DMS, consulte las siguientes secciones.
Temas
- Utilizar cualquier base SQL de datos compatible con My como destino para AWS Database Migration Service
- Limitaciones a la hora de utilizar una base SQL de datos compatible con My como destino para AWS Database Migration Service
- Configuración del punto final cuando se utiliza una base SQL de datos compatible con My como destino para AWS DMS
- Tipos de datos de destino para My SQL
Utilizar cualquier base SQL de datos compatible con My como destino para AWS Database Migration Service
Antes de empezar a trabajar con una base SQL de datos compatible con My como destino AWS DMS, asegúrese de haber cumplido los siguientes requisitos previos:
-
Proporcione una cuenta de usuario AWS DMS que tenga privilegios de lectura y escritura en la base de datos My -compatible. SQL Para crear los privilegios necesarios, ejecute los siguientes comandos.
CREATE USER '<user acct>'@'%' IDENTIFIED BY '<user password>'; GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON <schema>.* TO '<user acct>'@'%'; GRANT ALL PRIVILEGES ON awsdms_control.* TO '<user acct>'@'%';
-
Durante la fase de migración de carga completa, debe desactivar las claves externas en las tablas de destino. Para deshabilitar las comprobaciones de claves externas en una base SQL de datos compatible con My durante una carga completa, puede añadir el siguiente comando a la sección de atributos de conexión adicionales de la AWS DMS consola del terminal de destino.
Initstmt=SET FOREIGN_KEY_CHECKS=0;
-
Establezca el parámetro de base de datos
local_infile = 1
para permitir que AWS DMS cargue datos en la base de datos de destino. -
Otorgue los siguientes privilegios si utiliza las evaluaciones previas a la SQL migración específicas de My.
grant select on mysql.user to <dms_user>; grant select on mysql.db to <dms_user>; grant select on mysql.tables_priv to <dms_user>; grant select on mysql.role_edges to <dms_user> #only for MySQL version 8.0.11 and higher
Limitaciones a la hora de utilizar una base SQL de datos compatible con My como destino para AWS Database Migration Service
Cuando se utiliza una SQL base de datos My como destino, AWS DMS no admite lo siguiente:
-
Las declaraciones del lenguaje de definición de datos (DDL) TRUNCATE PARTITION DROPTABLE, y RENAMETABLE.
-
Utilizar una instrucción
ALTER TABLE
para añadir columnas al inicio o en la mitad de una tabla.table_name
ADD COLUMNcolumn_name
-
Al cargar datos en un destino SQL compatible con My en una tarea de carga completa, AWS DMS no informa de los errores causados por las restricciones de los registros de tareas, que pueden provocar errores clave duplicados o desajustes con el número de registros. Esto se debe a la forma en que My SQL gestiona los datos locales con el
LOAD DATA
comando. Asegúrese de hacer lo siguiente durante la fase de carga completa:Desactivar restricciones
Utilice AWS DMS la validación para asegurarse de que los datos son coherentes.
-
Al actualizar el valor de una columna a su valor actual, las bases de datos SQL compatibles con My muestran una
0 rows affected
advertencia. Aunque este comportamiento no es un error desde el punto de vista técnico, es diferente de la forma en que abordan la situación otros motores de base de datos. Por ejemplo, Oracle realiza una actualización de una fila. En el caso de las bases SQL de datos compatibles con My, AWS DMS genera una entrada en la tabla de control awsdms_apply_exceptions y registra la siguiente advertencia.Some changes from the source database had no impact when applied to the target database. See awsdms_apply_exceptions table for details.
Aurora Serverless está disponible como destino para Amazon Aurora versión 2, compatible con My SQL versión 5.7. (Seleccione Aurora My SQL versión 2.07.1 para poder utilizar Aurora Serverless con compatibilidad con My SQL 5.7). Para obtener más información sobre Aurora sin servidor, consulte Uso de Aurora Serverless v2 en la Guía del usuario de Amazon Aurora.
AWS DMS no admite el uso de un punto final de lectura para Aurora o AmazonRDS, a menos que las instancias estén en modo grabable, es decir, los
innodb_read_only
parámetrosread_only
y estén configurados en0
oOFF
. Para obtener más información sobre el uso de Amazon RDS y Aurora como objetivos, consulte lo siguiente:
Configuración del punto final cuando se utiliza una base SQL de datos compatible con My como destino para AWS DMS
Puede usar la configuración del punto final para configurar su base de datos de destino SQL compatible con My, de forma similar a como se utilizan atributos de conexión adicionales. Los ajustes se especifican al crear el punto final de destino mediante la AWS DMS consola o mediante el create-endpoint
comando del AWS CLI, con la --my-sql-settings '{"
JSON sintaxis.EndpointSetting"
:
"value"
, ...
}'
En la siguiente tabla se muestran los ajustes de punto final que puede utilizar con My SQL como destino.
Nombre | Descripción |
---|---|
|
Especifica dónde se migran las tablas de origen en el destino, bien en una base de datos o en varias. Si lo especifica Valor predeterminado: Valores válidos: { Ejemplo: |
|
Mejora el rendimiento al cargar datos en la base de datos SQL de destino compatible con My. Especifica cuántos subprocesos se van a utilizar para cargar los datos en la base de datos SQL de destino compatible con My. Si se configuran muchos subprocesos esto puede repercutir negativamente en el desempeño de la base de datos porque se requiere una conexión independiente para cada subproceso. Valor predeterminado: 1 Valores válidos: 1-5 Ejemplo: |
|
Especifica un script que se ejecuta inmediatamente después de que AWS DMS se conecta al punto de conexión. Por ejemplo, puede especificar que el destino SQL compatible con My traduzca las declaraciones recibidas al juego de caracteres latin1, que es el juego de caracteres compilado por defecto de la base de datos. Este parámetro suele mejorar el rendimiento al realizar conversiones desde clientes. UTF8 Ejemplo: |
|
Especifica el tamaño máximo (en KB) de cualquier archivo.csv utilizado para transferir datos a una base de datos SQL compatible con My. Valor predeterminado: 32768 KB (32 MB) Valores válidos: 1-1 048 576
|
También puede usar atributos de conexión adicionales para configurar su base de datos de destino SQL compatible con My.
En la siguiente tabla se muestran los atributos de conexión adicionales que puede utilizar con My SQL como destino.
Nombre | Descripción |
---|---|
|
Desactiva las comprobaciones de claves externas. Ejemplo: |
|
Especifica la zona horaria de la base de datos SQL compatible con My de destino. Valor predeterminado: UTC Valores válidos: los nombres de las zonas horarias disponibles en la SQL base de datos My de destino. Ejemplo: |
Como alternativa, puede usar el parámetro AfterConnectScript
del comando --my-sql-settings
para desactivar las comprobaciones de claves foráneas y especificar la zona horaria de la base de datos.
Tipos de datos de destino para My SQL
En la siguiente tabla se muestran los tipos de SQL datos de destino de mi base de datos que se admiten cuando se utiliza AWS DMS y el mapeo predeterminado a partir de AWS DMS los tipos de datos.
Para obtener información adicional sobre AWS DMS los tipos de datos, consulteTipos de datos de AWS Database Migration Service.
AWS DMS tipos de datos |
Mis tipos SQL de datos |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
Si la longitud es de 1 a 65.535, utilice VARBINARY (longitud). Si la longitud es de 65.536 a 2.147.483.647, utilice. LONGLOB |
DATE |
DATE |
TIME |
TIME |
TIMESTAMP |
«Si la escala es => 0 y =< 6, entonces: (Escala) DATETIME Si la escala es => 7 y =< 9, entonces: VARCHAR (37)» |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL(p, s) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE PRECISION |
STRING |
Si la longitud es de 1 a 21.845, utilice VARCHAR (longitud). Si la longitud es de 21.846 a 2.147.483.647, utilice. LONGTEXT |
UINT1 |
UNSIGNED TINYINT |
UINT2 |
UNSIGNED SMALLINT |
UINT4 |
UNSIGNED INTEGER |
UINT8 |
UNSIGNED BIGINT |
WSTRING |
Si la longitud es de 1 a 32.767, utilice (longitud). VARCHAR Si la longitud es de 32.768 a 2.147.483.647, utilice. LONGTEXT |
BLOB |
Si la longitud es de 1 a 65.535, utilice. BLOB Si la longitud es de 65.536 a 2.147.483.647, utilice. LONGBLOB Si la longitud es 0, utilice (soporte total). LONGBLOB LOB |
NCLOB |
Si la longitud es de 1 a 65.535, utilice. TEXT Si la longitud es de 65.536 a 2.147.483.647, utilízala con ucs2 para. LONGTEXT CHARACTER SET Si la longitud es 0, utilice (compatibilidad total) con ucs2 para. LONGTEXT LOB CHARACTER SET |
CLOB |
Si la longitud es de 1 a 65.535, utilice. TEXT Si la longitud es de 65.536 a 2147483647, utilice. LONGTEXT Si la longitud es 0, utilice LONGTEXT (soporte total). LOB |