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 fonte per AWS DMS
Puoi migrare i dati da qualsiasi database SQL compatibile con My (My, SQL MariaDB o Amazon Aurora My) utilizzando SQL AWS Servizio di migrazione del Database.
Per informazioni sulle versioni di My SQL that AWS DMS supporta come fonte, vedereFonti per AWS DMS.
È possibile 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 di SSL con AWS Database Migration Service
Nelle sezioni seguenti, il termine «gestione automatica» si applica a qualsiasi database installato in locale o su Amazon. EC2 Il termine»AWS-managed» si applica a qualsiasi database su AmazonRDS, Amazon Aurora o Amazon S3.
Per ulteriori dettagli sull'utilizzo dei database compatibili con My SQL e AWS DMS, vedere le seguenti sezioni.
Argomenti
- Migrazione da My SQL a My utilizzando SQL AWS DMS
- Utilizzo di qualsiasi database compatibile con My come origine per SQL AWS DMS
- Utilizzo di un database autogestito SQL compatibile con My come origine per AWS DMS
- Utilizzando un AWS-managed Il mio database SQL compatibile come fonte per AWS DMS
- Limitazioni all'utilizzo di un database My come fonte SQL per AWS DMS
- Supporto per transazione XA
- Impostazioni degli endpoint quando si utilizza My come fonte per SQL AWS DMS
- Tipi di dati di origine per My SQL
Migrazione da My SQL a My utilizzando SQL AWS DMS
Per una migrazione eterogenea, in cui si esegue la migrazione da un motore di database diverso da My SQL a un database, SQL AWS DMS è quasi sempre lo strumento di migrazione migliore da utilizzare. Tuttavia, per una migrazione omogenea, in cui si esegue la migrazione da un database personale a un SQL database personaleSQL, si consiglia di utilizzare un progetto di migrazione dei dati omogeneo. omogeneous data migations utilizza strumenti di database nativi per fornire prestazioni e precisione di migrazione dei dati migliori rispetto a AWS DMS.
Utilizzo di qualsiasi database compatibile con My come origine per SQL AWS DMS
Prima di iniziare a utilizzare un SQL database My come fonte per AWS DMS, assicurati di avere i seguenti prerequisiti. Questi prerequisiti si applicano ai sistemi autogestiti o AWS-fonti gestite.
È necessario disporre di un account per AWS DMS che ha il ruolo di amministratore di replica. Il ruolo richiede i seguenti privilegi:
-
REPLICATIONCLIENT— Questo privilegio è richiesto solo per le CDC attività. In altre parole, le full-load-only attività non richiedono questo privilegio.
-
REPLICATIONSLAVE— Questo privilegio è richiesto solo per le CDC attività. In altre parole, le full-load-only attività non richiedono questo privilegio.
-
SUPER— Questo privilegio è richiesto solo nelle mie SQL versioni precedenti alla 5.6.6.
Il AWS DMS l'utente deve inoltre disporre dei SELECT privilegi per le tabelle di origine destinate alla replica.
Utilizzo di un database autogestito SQL compatibile con My come origine per AWS DMS
È possibile utilizzare i seguenti database autogestiti SQL compatibili con My come fonti per AWS DMS:
-
My Community Edition SQL
-
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
Per utilizzarloCDC, assicurati di abilitare la registrazione binaria. Per abilitare la registrazione binaria, è necessario configurare i seguenti parametri nel file My SQL my.ini
(Windows) o my.cnf
(UNIX).
Parametro |
Valore |
---|---|
|
Imposta questo parametro su un valore uguale o maggiore di 1. |
|
Imposta il percorso del file di log binario, ad esempio |
|
Imposta questo parametro su |
|
Imposta questo parametro su un valore uguale o maggiore di 1. Per prevenire un utilizzo eccessivo di spazio su disco, si consiglia di non utilizzare il valore predefinito di 0. |
|
Imposta questo parametro sulla DMS versione 3.4.7 o precedente. |
|
Imposta questo parametro su |
|
Imposta questo parametro su |
Se si utilizza una replica di lettura My SQL o MariaDB come origine per DMS un'attività di migrazione utilizzando la modalità Migra dati esistenti e replica le modifiche in corso, esiste la possibilità di perdita di dati. DMSnon scriverà una transazione durante il pieno caricamento o nelle seguenti condizioni: CDC
La transazione era stata salvata nell'istanza principale prima dell'inizio dell'DMSattività.
La transazione era stata salvata nella replica solo dopo l'avvio dell'DMSattività, a causa del ritardo tra l'istanza principale e la replica.
Maggiore è il ritardo tra l'istanza principale e la replica, maggiore è il rischio di perdita di dati.
Se l'origine utilizza il motore di database NDB (in cluster), è necessario configurare i seguenti parametri per l'attivazione CDC nelle tabelle che utilizzano tale motore di archiviazione. Aggiungi queste modifiche nel file My SQL my.ini
(Windows) o my.cnf
(UNIX).
Parametro |
Valore |
---|---|
|
Imposta questo parametro su |
|
Imposta questo parametro su |
|
Imposta questo parametro su |
Utilizzando un AWS-managed Il mio database SQL compatibile come fonte per AWS DMS
È possibile utilizzare quanto segue AWS-ha gestito i miei database SQL compatibili come fonti per AWS DMS:
-
My Community Edition SQL
-
MariaDB Community Edition
-
Edizione compatibile con Amazon Aurora My SQL
Quando si utilizza un AWS-managed Il mio database SQL compatibile come fonte per AWS DMS, assicurati di disporre dei seguenti prerequisiti per: CDC
-
Per abilitare i log binari per My SQL e RDS RDS per MariaDB, abilita i backup automatici a livello di istanza. Per abilitare i log binari per un cluster Aurora SQL My, modifica la
binlog_format
variabile nel gruppo di parametri.Per ulteriori informazioni sulla configurazione dei backup automatici, consulta Working with automatic backup nella Amazon RDS User Guide.
Per ulteriori informazioni sulla configurazione della registrazione binaria per un SQL database Amazon RDS for My, consulta Impostazione del formato di registrazione binaria nella Amazon RDS User Guide.
Per ulteriori informazioni sulla configurazione della registrazione binaria per un cluster Aurora SQL My, vedi Come si attiva la registrazione binaria per il mio cluster Amazon Aurora
My? SQL . -
Se prevedi di utilizzarloCDC, attiva la registrazione binaria. Per ulteriori informazioni sulla configurazione della registrazione binaria per un SQL database Amazon RDS for My, consulta Impostazione del formato di registrazione binaria nella Amazon RDS User Guide.
-
Assicurati che i log binari siano disponibili per AWS DMS. Perché AWS-managed I database SQL compatibili eliminano i log binari il prima possibile, è necessario aumentare il periodo di tempo in cui i log rimangono disponibili. Ad esempio, per aumentare il periodo di conservazione dei log binari a 24 ore, esegui il comando seguente.
call mysql.rds_set_configuration('binlog retention hours', 24);
-
Imposta il parametro
binlog_format
su"ROW"
.Nota
Su My SQL o MariaDB
binlog_format
, è un parametro dinamico, quindi non è necessario riavviare il computer per rendere effettivo il nuovo valore. Tuttavia, il nuovo valore verrà applicato solo alle nuove sessioni. Se si passabinlog_format
suROW
per scopi di replica, il database può comunque creare log binari successivi utilizzando il formatoMIXED
, se tali sessioni sono iniziate prima della modifica del valore. Questo può impedire AWS DMS dall'acquisire correttamente tutte le modifiche nel database di origine. Quando modifichi l'binlog_format
impostazione su un database MariadB o SQL My, assicurati di riavviare il database per chiudere tutte le sessioni esistenti o riavvia qualsiasi applicazione che DML esegue operazioni (Data Manipulation Language). Forzando il database a riavviare tutte le sessioni dopo aver modificato ilbinlog_format
parametroROW
si assicurerà che il database scriva tutte le successive modifiche al database di origine utilizzando il formato corretto, in modo che AWS DMS è in grado di acquisire correttamente tali modifiche. -
Imposta il parametro
binlog_row_image
su"Full"
. -
Imposta il
binlog_checksum
parametro sulla DMS versione 3.4.7 o precedente."NONE"
Per ulteriori informazioni sull'impostazione dei parametri in Amazon RDS MySQL, consulta Working with automation backup nella Amazon RDS User Guide. -
Se utilizzi una replica di lettura Amazon RDS My SQL o Amazon RDS MariaDB come origine, abilita i backup sulla replica di lettura e assicurati che il parametro sia impostato su.
log_slave_updates
TRUE
Limitazioni all'utilizzo di un database My come fonte SQL per AWS DMS
Quando utilizzate un SQL database My come fonte, tenete presente quanto segue:
-
Change Data Capture (CDC) non è supportato per Amazon RDS My SQL 5.5 o versioni precedenti. Per Amazon RDS MySQL, devi utilizzare la versione 5.6, 5.7 o 8.0 per abilitarlo. CDC CDCè supportato per le sorgenti My 5.5 autogestite. SQL
-
PerCDC,
CREATE TABLE
ADD COLUMN
, e per laDROP COLUMN
modifica del tipo di dati della colonna, erenaming a column
sono supportati. TuttaviaDROP TABLE
,RENAME TABLE
e gli aggiornamenti apportati ad altri attributi, come il valore predefinito della colonna, la nullabilità delle colonne, il set di caratteri e così via, non sono supportati. -
Per le tabelle partizionate sull'origine, quando imposti la modalità di preparazione della tabella di Target su Elimina tabelle sulla destinazione, AWS DMS crea una tabella semplice senza partizioni sulla destinazione My. SQL Per migrare le tabelle partizionate in una tabella partizionata sulla destinazione, precrea le tabelle partizionate sul database My di destinazione. SQL
-
L'utilizzo di un'
ALTER TABLE
istruzione per aggiungere colonne all'inizio (FIRST) o al centro di una tabella () non è supportato. AFTER Le colonne vengono sempre aggiunte alla fine della tabella.table_name
ADD COLUMNcolumn_name
-
CDCnon è supportato quando il nome di una tabella contiene caratteri maiuscoli e minuscoli e il motore di origine è ospitato su un sistema operativo con nomi di file senza distinzione tra maiuscole e minuscole. Un esempio è Microsoft Windows o OS X che utilizzano HFS +.
-
Puoi usare Aurora My SQL -Compatible Edition Serverless v1 a pieno carico, ma non puoi usarlo per. CDC Questo perché non puoi abilitare i prerequisiti per My. SQL Per ulteriori informazioni, consulta Parameter groups and Aurora Serverless v1.
Supporta Aurora My SQL -Compatible Edition Serverless v2. CDC
-
L'INCREMENTattributo AUTO _ su una colonna non viene migrato in una colonna del database di destinazione.
-
L'acquisizione delle modifiche quando i log binari non sono archiviati su uno storage a blocchi standard non è supportata. Ad esempio, CDC non funziona quando i log binari sono archiviati su Amazon S3.
-
AWS DMS crea tabelle di destinazione con il motore di archiviazione InnoDB per impostazione predefinita. Se è necessario utilizzare un motore di storage diverso da InnoDB, occorre creare manualmente la tabella ed eseguirvi la migrazione utilizzando la modalità nessuna azione.
-
Non puoi usare Aurora Le mie SQL repliche come fonte per AWS DMS a meno che la modalità DMS dell'attività di migrazione non sia Migrazione dei dati esistenti, solo a pieno carico.
-
Se l'origine SQL compatibile con My viene interrotta durante il caricamento completo, AWS DMS l'operazione non si interrompe con un errore. L'attività termina correttamente, ma la destinazione potrebbe non essere sincronizzata con l'origine. In questo caso, riavvia l'attività o ricarica le tabelle interessate.
-
Gli indici creati su una parte di un valore di colonna non vengono migrati. Ad esempio, l'indice CREATE INDEX first_ten_chars ON customer (name (10)) non viene creato sulla destinazione.
-
In alcuni casi, l'attività è configurata per non essere replicata LOBs (» SupportLobs "è false nelle impostazioni dell'attività oppure l'opzione Non includere LOB colonne è stata scelta nella console attività). In questi casi, AWS DMS non migra alcuna LONGTEXT colonna MEDIUMBLOBLONGBLOB,MEDIUMTEXT, e verso la destinazione.
BLOB, TINYBLOBTEXT, e TINYTEXT le colonne non sono interessate e vengono migrate verso la destinazione.
-
Le tabelle di dati temporali o le tabelle con versioni di sistema non sono supportate nei database di origine e di destinazione di MariaDB.
-
In caso di migrazione tra due cluster Amazon RDS Aurora My, l'endpoint Aurora SQL SQL My source deve essere un'RDSistanza di lettura/scrittura, non un'istanza di replica.
-
AWS DMS attualmente non supporta la migrazione delle visualizzazioni per MariadB.
-
AWS DMS non supporta le DDL modifiche alle tabelle partizionate per My. SQL Per saltare la sospensione della tabella per le DDL modifiche alle partizioni duranteCDC, imposta su.
skipTableSuspensionForPartitionDdl
true
-
AWS DMS supporta solo transazioni XA nella versione 3.5.0 e successive. Le versioni precedenti non supportano le transazioni XA. AWS DMS non supporta le transazioni XA nella versione 10.6 di MariadB. Per ulteriori informazioni, consulta la sezione seguente: Supporto per transazione XA.
-
AWS DMS non viene utilizzato GTIDs per la replica, anche se i dati di origine li contengono.
-
AWS DMS non supporta il log binario SQL avanzato di Aurora My.
-
AWS DMS non supporta la compressione delle transazioni di log binario.
-
AWS DMS non propaga UPDATE CASCADE gli eventi ON DELETE CASCADE e ON per i miei SQL database utilizzando il motore di archiviazione InnoDB. Per questi eventi, My SQL non genera eventi binlog per riflettere le operazioni a cascata sulle tabelle secondarie. Di conseguenza, AWS DMS non può replicare le modifiche corrispondenti alle tabelle secondarie. Per ulteriori informazioni, consulta Indici, chiavi esterne o aggiornamenti o eliminazioni a cascata non migrati.
-
AWS DMS non acquisisce le modifiche alle colonne calcolate (
VIRTUAL
eGENERATED ALWAYS
). Per ovviare a questa limitazione, esegui queste operazioni:Pre-crea la tabella di destinazione nel database di destinazione e crea il AWS DMS attività con l'
DO_NOTHING
impostazione oTRUNCATE_BEFORE_LOAD
caricamento completo.Aggiungi una regola di trasformazione per rimuovere la colonna calcolata dall'ambito dell'attività. Per informazioni sulle regole di trasformazione, consulta Operazioni e regole di trasformazione.
Supporto per transazione XA
Una transazione Extended Architecture (XA) è una transazione che può essere utilizzata per raggruppare una serie di operazioni da più risorse transazionali in un'unica transazione globale affidabile. Una transazione XA utilizza un protocollo di commit in due fasi. In generale, l'acquisizione delle modifiche mentre sono presenti transazioni XA aperte potrebbe portare alla perdita di dati. Se il database non utilizza transazioni XA, puoi ignorare questa autorizzazione e la configurazione IgnoreOpenXaTransactionsCheck
utilizzando il valore predefinito TRUE
. Per iniziare la replica da un'origine che contiene transazioni XA, effettua le seguenti operazioni:
Assicurarsi che AWS DMS l'utente dell'endpoint dispone delle seguenti autorizzazioni:
grant XA_RECOVER_ADMIN on *.* to 'userName'@'%';
Configura l'impostazione dell'endpoint
IgnoreOpenXaTransactionsCheck
sufalse
.
Nota
AWS DMS non supporta le transazioni XA su MariaDB Source DB versione 10.6.
Impostazioni degli endpoint quando si utilizza My come fonte per SQL AWS DMS
È possibile utilizzare le impostazioni degli endpoint per configurare il database My SQL source in modo simile all'utilizzo di attributi di connessione aggiuntivi. Le impostazioni vengono specificate quando si crea l'endpoint di origine utilizzando il AWS DMS console o utilizzando il create-endpoint
comando in AWS CLI, con la --my-sql-settings '{"
JSON sintassi.EndpointSetting"
:
"value"
, ...
}'
La tabella seguente mostra le impostazioni degli endpoint che è possibile utilizzare con My SQL come sorgente.
Nome | Descrizione |
---|---|
EventsPollInterval |
Specifica la frequenza di controllo del log binario per nuove modifiche/eventi quando il database è inattivo. Valore predefinito: 5 Valori validi: 1-60 Esempio: Nell'esempio, AWS DMS verifica le modifiche nei log binari ogni cinque secondi. |
ExecuteTimeout |
In AWS DMS versioni 3.4.7 e successive, imposta il timeout dell'istruzione client per un endpoint My SQL source, in secondi. Valore predefinito: 60 Esempio: |
ServerTimezone |
Speciifica il fuso orario per il database My di origine. SQL Esempio: |
AfterConnectScript |
Speciifica uno script da eseguire immediatamente dopo AWS DMS si connette all'endpoint. L'attività di migrazione continua a essere eseguita indipendentemente dal fatto che l'SQListruzione abbia esito positivo o negativo. Valori validi: una o più SQL istruzioni valide, contrassegnate da un punto e virgola. Esempio: |
CleanSrcMetadataOnMismatch
|
Esegue la pulizia e crea nuovamente le informazioni dei metadati delle tabelle sull'istanza di replica se si verifica una mancata corrispondenza. Ad esempio, in una situazione in cui l'esecuzione di un alter DDL sulla tabella potrebbe generare informazioni diverse sulla tabella memorizzata nella cache dell'istanza di replica. booleano. Valore predefinito: Esempio: |
skipTableSuspensionForPartitionDdl
|
AWS DMS non supporta le DDL modifiche per le tabelle partizionate per My. SQL In AWS DMS versioni 3.4.6 e successive, impostandola per Valore predefinito: Esempio: |
IgnoreOpenXaTransactionsCheck
|
In AWS DMS le versioni 3.5.0 e successive specificano se le attività devono ignorare le transazioni XA aperte all'avvio. Imposta su Valore predefinito: Esempio: |
Tipi di dati di origine per My SQL
La tabella seguente mostra i tipi di dati di origine del mio SQL database supportati durante l'utilizzo AWS DMS e la mappatura predefinita di AWS DMS tipi di dati.
Per informazioni su come visualizzare il tipo di dati mappato nella destinazione, consulta la sezione relativa all'endpoint di destinazione che stai utilizzando.
Per ulteriori informazioni su AWS DMS tipi di dati, vedereTipi di dati per AWS Database Migration Service.
I miei tipi di SQL dati |
AWS DMS tipi di dati |
---|---|
INT |
INT4 |
BIGINT |
INT8 |
MEDIUMINT |
INT4 |
TINYINT |
INT1 |
SMALLINT |
INT2 |
UNSIGNED TINYINT |
UINT1 |
UNSIGNED SMALLINT |
UINT2 |
UNSIGNED MEDIUMINT |
UINT4 |
UNSIGNED INT |
UINT4 |
UNSIGNED BIGINT |
UINT8 |
DECIMAL(10) |
NUMERIC(10,0) |
BINARY |
BYTES(1) |
BIT |
BOOLEAN |
BIT(64) |
BYTES(8) |
BLOB |
BYTES(65535) |
LONGBLOB |
BLOB |
MEDIUMBLOB |
BLOB |
TINYBLOB |
BYTES(255) |
DATE |
DATE |
DATETIME |
DATETIME DATETIMEsenza un valore tra parentesi viene replicato senza millisecondi. DATETIMEcon un valore tra parentesi compreso tra 1 e 5 (ad esempio) viene replicato in millisecondi. Quando si replica una DATETIME colonna, il tempo rimane lo stesso sulla destinazione. Non viene convertito in. UTC |
TIME |
STRING |
TIMESTAMP |
DATETIME Quando si replica una TIMESTAMP colonna, l'ora viene convertita in UTC sulla destinazione. |
YEAR |
INT2 |
DOUBLE |
REAL8 |
FLOAT |
REAL(DOUBLE) Se i FLOAT valori non rientrano nell'intervallo seguente, usa una trasformazione a cui mappareFLOAT. STRING Per ulteriori informazioni sulle trasformazioni, consulta Operazioni e regole di trasformazione. L'FLOATintervallo supportato è compreso tra -1,79E+308 e -2,23E-308, 0 e 2,23E-308 fino a 1,79E+308 |
VARCHAR(45) |
WSTRING(45) |
VARCHAR(2000) |
WSTRING(2000) |
VARCHAR(4000) |
WSTRING(4000) |
VARBINARY(4000) |
BYTES(4000) |
VARBINARY(2000) |
BYTES(2000) |
CHAR |
WSTRING |
TEXT |
WSTRING |
LONGTEXT |
NCLOB |
MEDIUMTEXT |
NCLOB |
TINYTEXT |
WSTRING(255) |
GEOMETRY |
BLOB |
POINT |
BLOB |
LINESTRING |
BLOB |
POLYGON |
BLOB |
MULTIPOINT |
BLOB |
MULTILINESTRING |
BLOB |
MULTIPOLYGON |
BLOB |
GEOMETRYCOLLECTION |
BLOB |
ENUM |
WSTRING ( Ecco |
SET |
WSTRING ( Ecco, |
JSON |
CLOB |
Nota
In alcuni casi, è possibile specificare i tipi di TIMESTAMP dati DATETIME e con un valore «zero» (ovvero 0000-00-00). In tal caso, assicuratevi che il database di destinazione nell'attività di replica supporti valori «zero» per i DATETIME tipi di dati e. TIMESTAMP In caso contrario, tali valori vengono registrati come null nella destinazione.