

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 compatibile con MySQL come destinazione per AWS Database Migration Service
<a name="CHAP_Target.MySQL"></a>

È possibile migrare i dati su qualsiasi database compatibile con MySQL utilizzando AWS DMS, da uno qualsiasi dei motori di dati di origine che supporta. AWS DMS Se si esegue la migrazione a un database locale compatibile con MySQL, è AWS DMS necessario che il motore di origine risieda all'interno dell'ecosistema. AWS Il motore può essere su un servizio AWS gestito come Amazon RDS, Amazon Aurora o Amazon S3. In alternativa, il motore può trovarsi su un database autogestito in Amazon EC2. 

Puoi utilizzare il protocollo SSL per crittografare le connessioni tra l'endpoint compatibile con MySQL e l'istanza di replica. Per ulteriori informazioni sull'utilizzo di SSL con un endpoint compatibile con MySQL, consulta [Utilizzo di SSL con AWS Database Migration Service](CHAP_Security.SSL.md). 

Per informazioni sulle versioni di MySQL supportate come AWS DMS destinazione, vedere. [Obiettivi per AWS DMS](CHAP_Introduction.Targets.md)

È possibile utilizzare i seguenti database compatibili con MySQL come destinazioni per: AWS DMS
+ MySQL Community Edition
+ MySQL Standard Edition
+ MySQL Enterprise Edition
+ MySQL Cluster Carrier Grade Edition
+ MariaDB Community Edition
+ MariaDB Enterprise Edition
+ MariaDB Column Store
+ Amazon Aurora MySQL

**Nota**  
Indipendentemente dal motore di storage di origine (MyISAM, MEMORY e così via), AWS DMS crea una tabella di destinazione compatibile con MySQL come tabella InnoDB per impostazione predefinita.   
Se ti occorre una tabella che utilizza un motore di storage diverso da InnoDB, puoi creare manualmente la tabella sulla destinazione compatibile con MySQL e migrare la tabella utilizzando l'opzione **Nessuna azione**. Per ulteriori informazioni, consulta [Impostazioni delle attività di caricamento completo](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md).

Per ulteriori dettagli sull'utilizzo di un database compatibile con MySQL come destinazione per AWS DMS, consulta le sezioni seguenti. 

**Topics**
+ [

## Utilizzo di qualsiasi database compatibile con MySQL come destinazione per AWS Database Migration Service
](#CHAP_Target.MySQL.Prerequisites)
+ [

## Limitazioni all'utilizzo di un database compatibile con MySQL come destinazione per AWS Database Migration Service
](#CHAP_Target.MySQL.Limitations)
+ [

## Impostazioni degli endpoint quando si utilizza un database compatibile con MySQL come destinazione per AWS DMS
](#CHAP_Target.MySQL.ConnectionAttrib)
+ [

## Tipi di dati di destinazione per MySQL
](#CHAP_Target.MySQL.DataTypes)

## Utilizzo di qualsiasi database compatibile con MySQL come destinazione per AWS Database Migration Service
<a name="CHAP_Target.MySQL.Prerequisites"></a>

Prima di iniziare a utilizzare un database compatibile con MySQL come destinazione per AWS DMS, accertati di aver soddisfatto i seguenti prerequisiti:
+ Fornisci un account utente con AWS DMS read/write privilegi per il database compatibile con MySQL. 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, CREATE TEMPORARY TABLES  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 compatibile con MySQL durante un caricamento completo, puoi aggiungere il seguente comando alla sezione **Attributi di connessione aggiuntivi** 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.
+ Se si utilizzano valutazioni di premigrazione specifiche di MySQL, è necessario fornire i seguenti privilegi.

  ```
  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 compatibile con MySQL come destinazione per AWS Database Migration Service
<a name="CHAP_Target.MySQL.Limitations"></a>

Quando si utilizza un database MySQL come destinazione AWS DMS , non supporta quanto segue:
+ Le istruzioni DDL (Data Definition Language) TRUNCATE PARTITION, DROP TABLE e RENAME TABLE.
+ L'utilizzo di un'istruzione `ALTER TABLE table_name ADD COLUMN column_name` per aggiungere colonne all'inizio o al centro di una tabella.
+ Quando si caricano dati su una destinazione compatibile con MySQL 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. Questo comportamento è riconducibile al modo in cui MySQL gestisce i dati locali con il comando `LOAD DATA`. Effettua le seguenti operazioni durante la fase di pieno carico: 
  + Disabilita le limitazioni.
  + Utilizza AWS DMS la convalida per assicurarti che i dati siano coerenti.
+ Quando si aggiorna il valore di una colonna al valore esistente, i database compatibili con MySQL restituiscono un avviso `0 rows affected`. 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 compatibili con MySQL, AWS DMS genera una voce nella tabella di controllo awsdms\$1apply\$1exceptions 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 MySQL versione 5.7. Seleziona Aurora MySQL versione 2.07.1 per utilizzare Aurora serverless compatibile con MySQL 5.7. *Per ulteriori informazioni su Aurora Serverless, consulta Using [Aurora Serverless v2 nella Amazon Aurora](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) User Guide.*
+ AWS DMS non supporta l'utilizzo di un endpoint reader per Aurora o Amazon RDS, a meno che le istanze non siano in modalità scrivibile, `read_only` ovvero i parametri `innodb_read_only` and non siano impostati su o. `0` `OFF` Per ulteriori informazioni sull'utilizzo di Amazon RDS e Aurora come destinazioni, consulta gli argomenti seguenti:
  +  [ Determinazione dell'istanza database a cui si è connessi](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.BestPractices.html#AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection) 
  +  [ Aggiornamento di repliche di lettura con MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.ReadReplicas.html#USER_MySQL.Replication.ReadReplicas.Updates) 
+ Quando si replica il tipo di dati TIME, il valore della parte temporale frazionaria non viene replicato.
+ Quando si replica il tipo di dati TIME con Extra Connection Attribute, il valore temporale è limitato all'intervallo. `loadUsingCSV=false` `[00:00:00, 23:59:59]`

## Impostazioni degli endpoint quando si utilizza un database compatibile con MySQL come destinazione per AWS DMS
<a name="CHAP_Target.MySQL.ConnectionAttrib"></a>

È possibile utilizzare le impostazioni degli endpoint per configurare il database di destinazione compatibile con MySQL in modo simile a come si usano gli attributi aggiuntivi di connessione. Le impostazioni vengono specificate quando si crea l'endpoint di destinazione utilizzando la AWS DMS console o utilizzando il `create-endpoint` comando in, con la sintassi JSON. [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html)`--my-sql-settings '{"EndpointSetting": "value", ...}'`

La tabella riportata di seguito mostra le impostazioni degli endpoint che è possibile utilizzare con MySQL come destinazione.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Target.MySQL.html)

Puoi anche utilizzare gli attributi aggiuntivi di connessione per configurare il database di destinazione compatibile con MySQL.

Nella seguente tabella vengono indicati gli attributi aggiuntivi di connessione utilizzabili con MySQL come destinazione.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Target.MySQL.html)

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 MySQL
<a name="CHAP_Target.MySQL.DataTypes"></a>

La tabella seguente mostra i tipi di dati di destinazione del database MySQL supportati durante l' AWS DMS utilizzo e la AWS DMS mappatura predefinita dei tipi di dati.

Per ulteriori informazioni sui tipi di AWS DMS dati, vedere. [Tipi di dati per AWS Database Migration Service](CHAP_Reference.DataTypes.md)


|  AWS DMS tipi di dati  |  Tipi di dati MySQL  | 
| --- | --- | 
|  BOOLEAN  |  BOOLEAN  | 
|  BYTES  |  Se la lunghezza è compresa tra 1 e 65.535, utilizzare VARBINARY (lunghezza).  Se la lunghezza è compresa tra 65.536 e 2.147.483.647, utilizzare LONGLOB.  | 
|  DATE  |  DATE  | 
|  TIME  |  TIME  | 
|  TIMESTAMP  |  "Se il dimensionamento è => 0 e =< 6, DATETIME (dimensionamento) Se il dimensionamento è => 7 e =< 9, 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, utilizzare VARCHAR (lunghezza). Se la lunghezza è compresa tra 21.846 e 2.147.483.647, utilizzare LONGTEXT.  | 
|  UINT1  |  UNSIGNED TINYINT  | 
|  UINT2  |  UNSIGNED SMALLINT  | 
|  UINT4  |  UNSIGNED INTEGER  | 
|  UINT8  |  UNSIGNED BIGINT  | 
|  WSTRING  |  Se la lunghezza è compresa tra 1 e 32.767, utilizzare VARCHAR (lunghezza).  Se la lunghezza è compresa tra 32.768 e 2.147.483.647, utilizzare LONGTEXT.  | 
|  BLOB  |  Se la lunghezza è compresa tra 1 e 65.535, utilizzare BLOB. Se la lunghezza è compresa tra 65.536 e 2.147.483.647, utilizzare LONGBLOB. Se la lunghezza è 0, utilizzare LONGBLOB (supporto LOB completo).  | 
|  NCLOB  |  Se la lunghezza è compresa tra 1 e 65.535, utilizzare TEXT. Se la lunghezza è compresa tra 65.536 a 2.147.483.647, utilizzare LONGTEXT con ucs2 per CHARACTER SET. Se la lunghezza è 0, utilizzare LONGTEXT (supporto LOB completo) con ucs2 per CHARACTER SET.  | 
|  CLOB  |  Se la lunghezza è compresa tra 1 e 65.535, utilizzare TEXT. Se la lunghezza è compresa tra 65.536 e 2147483647, utilizzare LONGTEXT. Se la lunghezza è 0, utilizzare LONGTEXT (supporto LOB completo).  | 