Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di un database SQL compatibile con My come destinazione per AWS Database Migration Service
Puoi migrare i dati verso qualsiasi database SQL compatibile con My utilizzando AWS DMS, da uno qualsiasi dei motori di dati di origine che supporta. AWS DMS Se stai migrando a un database locale SQL compatibile con My, è AWS DMS necessario che il motore di origine risieda all'interno dell'ecosistema. AWS Il motore può essere su un servizio AWS gestito come AmazonRDS, Amazon Aurora o Amazon S3. Oppure il motore può trovarsi su un database autogestito su AmazonEC2.
Puoi utilizzarlo SSL per crittografare le connessioni tra l'endpoint SQL compatibile con My e l'istanza di replica. Per ulteriori informazioni sull'utilizzo SSL con un endpoint compatibile con My, SQL consulta. Utilizzo con SSL AWS Database Migration Service
Per informazioni sulle versioni di My SQL AWS DMS supportate come destinazione, consulta. Obiettivi per AWS DMS
È possibile utilizzare i seguenti database SQL compatibili con My come destinazioni per AWS DMS:
-
My SQL Community Edition
-
La mia edizione SQL standard
-
La mia edizione SQL Enterprise
-
La mia edizione SQL Cluster Carrier Grade
-
MariaDB Community Edition
-
MariaDB Enterprise Edition
-
MariaDB Column Store
-
Amazon Aurora My SQL
Nota
Indipendentemente dal motore di archiviazione di origine (My ISAM e così via), AWS DMS crea una tabella di destinazione SQL compatibile con My come tabella InnoDB per impostazione predefinita. MEMORY
Se hai bisogno di una tabella in un motore di archiviazione diverso da InnoDB, puoi creare manualmente la tabella sulla destinazione My SQL -compatible e migrare la tabella utilizzando l'opzione Do nothing. Per ulteriori informazioni, consulta Impostazioni delle attività di caricamento completo.
Per ulteriori dettagli sull'utilizzo di un database SQL compatibile con My come destinazione per AWS DMS, consultate le seguenti sezioni.
Argomenti
- Utilizzo di qualsiasi database SQL compatibile con My come destinazione per AWS Database Migration Service
- Limitazioni all'utilizzo di un database SQL compatibile con My come destinazione per AWS Database Migration Service
- Impostazioni degli endpoint quando si utilizza un database SQL compatibile con My come destinazione per AWS DMS
- Tipi di dati di destinazione per My SQL
Utilizzo di qualsiasi database SQL compatibile con My come destinazione per AWS Database Migration Service
Prima di iniziare a utilizzare un database SQL compatibile con My come destinazione per AWS DMS, assicurati di aver completato i seguenti prerequisiti:
-
Fornisci un account utente con AWS DMS privilegi di lettura/scrittura per il database compatibile con My. SQL Per creare i privilegi necessari, esegui i seguenti comandi.
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 di migrazione del caricamento completo, devi disabilitare le chiavi esterne sulle tabelle di destinazione. Per disabilitare i controlli delle chiavi esterne su un database SQL compatibile con My durante un caricamento completo, puoi aggiungere il seguente comando alla sezione Extra connection attributes della AWS DMS console per l'endpoint di destinazione.
Initstmt=SET FOREIGN_KEY_CHECKS=0;
-
Imposta il parametro del database
local_infile = 1
per consentire a AWS DMS di caricare i dati nel database di destinazione. -
Concedi i seguenti privilegi se utilizzi le valutazioni di premigrazione specifiche SQL di 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
Limitazioni all'utilizzo di un database SQL compatibile con My come destinazione per AWS Database Migration Service
Quando si utilizza un SQL database My come destinazione, AWS DMS non supporta quanto segue:
-
Le istruzioni del linguaggio di definizione dei dati (DDL) TRUNCATE PARTITION DROPTABLE, e RENAMETABLE.
-
L'utilizzo di un'istruzione
ALTER TABLE
per aggiungere colonne all'inizio o al centro di una tabella.table_name
ADD COLUMNcolumn_name
-
Quando si caricano dati su una destinazione SQL compatibile con My in un'attività a caricamento completo, AWS DMS non riporta gli errori causati da vincoli nei registri delle attività, che possono causare errori di chiave duplicati o mancate corrispondenze con il numero di record. Ciò è causato dal modo in cui My SQL gestisce i dati locali con il comando.
LOAD DATA
Effettua le seguenti operazioni durante la fase di pieno carico:Disabilita le limitazioni.
Usa AWS DMS la convalida per assicurarti che i dati siano coerenti.
-
Quando aggiorni il valore di una colonna al valore esistente, i database My SQL -compatible restituiscono un
0 rows affected
avviso. Sebbene questo comportamento non sia tecnicamente un errore, la situazione è gestita diversamente in altri motori di database. Ad esempio, Oracle esegue un aggiornamento di una riga. Per i database SQL compatibili con My, AWS DMS genera una voce nella tabella di controllo awsdms_apply_exceptions e registra il seguente avviso.Some changes from the source database had no impact when applied to the target database. See awsdms_apply_exceptions table for details.
Aurora Serverless è disponibile come destinazione per Amazon Aurora versione 2, compatibile con la mia versione 5.7. SQL (Seleziona Aurora My SQL versione 2.07.1 per poter utilizzare Aurora Serverless con compatibilità My 5.7.) SQL Per ulteriori informazioni su Aurora Serverless, consulta Using Aurora Serverless v2 nella Amazon Aurora User Guide.
AWS DMS non supporta l'utilizzo di un endpoint reader per Aurora o RDS Amazon, a meno che le istanze non siano in modalità scrivibile,
read_only
ovvero i parametriinnodb_read_only
and non siano impostati su o.0
OFF
Per ulteriori informazioni sull'utilizzo di Amazon RDS e Aurora come destinazioni, consulta quanto segue:
Impostazioni degli endpoint quando si utilizza un database SQL compatibile con My come destinazione per AWS DMS
È possibile utilizzare le impostazioni degli endpoint per configurare il database di destinazione SQL compatibile con My in modo simile all'utilizzo di attributi di connessione aggiuntivi. Le impostazioni vengono specificate quando si crea l'endpoint di destinazione utilizzando la AWS DMS console o utilizzando il create-endpoint
comando contenuto in AWS CLI, con la sintassi. --my-sql-settings '{"
JSONEndpointSetting"
:
"value"
, ...
}'
La tabella seguente mostra le impostazioni dell'endpoint che è possibile utilizzare con My SQL come destinazione.
Nome | Descrizione |
---|---|
|
Specifica la posizione in cui migrare le tabelle di origine sulla destinazione, su un singolo database o su più database. Se si specifica Valore predefinito: Valori validi: { Esempio: |
|
Migliora le prestazioni durante il caricamento dei dati nel database SQL di destinazione compatibile con My. Speciifica il numero di thread da utilizzare per caricare i dati nel database di destinazione compatibile SQL con My. L'impostazione di un numero elevato di thread può avere ripercussioni negative sulle prestazioni del database, perché è necessaria una connessione separata per ciascun thread. Valore predefinito: 1 Valori validi: 1-5 Esempio: |
|
Specifica uno script da eseguire immediatamente dopo la connessione di AWS DMS all'endpoint. Ad esempio, è possibile specificare che il target My SQL -compatible debba tradurre le istruzioni ricevute nel set di caratteri latin1, che è il set di caratteri compilato predefinito del database. Questo parametro in genere migliora le prestazioni durante la conversione da client. UTF8 Esempio: |
|
Speciifica la dimensione massima (in KB) di qualsiasi file con estensione csv utilizzato per trasferire dati a un database compatibile con My. SQL Valore predefinito: 32.768 KB (32 MB) Valori validi: 1-1.048.576
|
Puoi anche utilizzare attributi di connessione aggiuntivi per configurare il tuo database di destinazione compatibile con MySQL.
La tabella seguente mostra gli attributi di connessione aggiuntivi che è possibile utilizzare con My SQL come destinazione.
Nome | Descrizione |
---|---|
|
Disabilita i controlli delle chiavi esterne. Esempio: |
|
Speciifica il fuso orario per il database di destinazione SQL compatibile con My. Valore predefinito: UTC Valori validi: i nomi dei fusi orari disponibili nel database My SQL di destinazione. Esempio: |
In alternativa, è possibile utilizzare il parametro AfterConnectScript
del comando --my-sql-settings
per disabilitare i controlli delle chiavi esterne e specificare il fuso orario del database.
Tipi di dati di destinazione per My SQL
La tabella seguente mostra i tipi di dati di destinazione My SQL database supportati durante l'utilizzo AWS DMS e la mappatura predefinita AWS DMS dei tipi di dati.
Per ulteriori informazioni sui tipi di AWS DMS dati, vedereTipi di dati per AWS Database Migration Service.
AWS DMS tipi di dati |
I miei tipi di SQL dati |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
Se la lunghezza è compresa tra 1 e 65.535, usa VARBINARY (length). Se la lunghezza è compresa tra 65.536 e 2.147.483.647, usa. LONGLOB |
DATE |
DATE |
TIME |
TIME |
TIMESTAMP |
«Se la scala è => 0 e =< 6, allora: (Scala) DATETIME Se la scala è => 7 e =< 9, allora: VARCHAR (37)» |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL(p, s) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE PRECISION |
STRING |
Se la lunghezza è compresa tra 1 e 21.845, usa VARCHAR (length). Se la lunghezza è compresa tra 21.846 e 2.147.483.647, usa. LONGTEXT |
UINT1 |
UNSIGNED TINYINT |
UINT2 |
UNSIGNED SMALLINT |
UINT4 |
UNSIGNED INTEGER |
UINT8 |
UNSIGNED BIGINT |
WSTRING |
Se la lunghezza è compresa tra 1 e 32.767, usa (length). VARCHAR Se la lunghezza è compresa tra 32.768 e 2.147.483.647, usa. LONGTEXT |
BLOB |
Se la lunghezza è compresa tra 1 e 65.535, usa. BLOB Se la lunghezza è compresa tra 65.536 e 2.147.483.647, usa. LONGBLOB Se la lunghezza è 0, usa (supporto completo). LONGBLOB LOB |
NCLOB |
Se la lunghezza è compresa tra 1 e 65.535, usa. TEXT Se la lunghezza è compresa tra 65.536 e 2.147.483.647, usala con ucs2 for. LONGTEXT CHARACTER SET Se la lunghezza è 0, usa (supporto completo) con ucs2 for. LONGTEXT LOB CHARACTER SET |
CLOB |
Se la lunghezza è compresa tra 1 e 65.535, allora usa. TEXT Se la lunghezza è compresa tra 65.536 e 2147483647, usa. LONGTEXT Se la lunghezza è 0, usa LONGTEXT (supporto completo). LOB |