

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à.

# Importazione di dati da un database MariaDB esterno in un’istanza database Amazon RDS per MariaDB
<a name="mariadb-importing-data-external-database"></a>

È possibile importare i dati da un database MariaDB esistente in un’istanza database RDS per MariaDB. A tale scopo, copia il database con [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) o [mariadb-dump](https://mariadb.com/kb/en/mariadb-dump/) e reindirizzalo direttamente all’istanza database RDS per MariaDB. L’utilità a riga di comando `mysqldump` o `mariadb-dump` viene spesso usata per creare backup e trasferire dati da un server MariaDB a un altro. ed è inclusa nel software client MariaDB.

A partire da MariaDB 11.0.1, è necessario utilizzare `mariadb-dump` anziché `mysqldump`.

Un tipico comando `mysqldump` per spostare dati da un database esterno a un’istanza database Amazon RDS è simile al seguente. Sostituisci i valori con le tue informazioni. Per MariaDB 11.0.1 e versioni successive, sostituisci `mysqldump` con `mariadb-dump`.

```
mysqldump -u {{local_user}} \
    --databases {{database_name}} \
    --single-transaction \
    --compress \
    --order-by-primary  \
    --routines=0 \
    --triggers=0 \
    --events=0 \
    -p{{local_password}} | mariadb -u {{RDS_user}} \
        --port={{port_number}} \
        --host={{host_name}} \
        -p{{RDS_password}}
```

**Importante**  
Assicurati di non lasciare spazi tra l'opzione `-p` e la password immessa.  
Come best practice per la sicurezza, specifica credenziali diverse dai prompt mostrati nell’esempio.

Assicurati di essere a conoscenza dei seguenti suggerimenti e considerazioni:
+ Escludi gli schemi seguenti dal file di dump: 
  + `sys`
  + `performance_schema`
  + `information_schema`

  Per impostazione predefinita, l’utilità `mysqldump` e `mariadb-dump` esclude questi schemi.
+ Per eseguire la migrazione di utenti e privilegi, potresti utilizzare uno strumento che generi il linguaggio di controllo dati (DCL) per ricrearli (ad esempio, l'utility [pt-show-grants](https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html)).
+ L’utente che esegue l'importazione deve avere accesso all'istanza database. Per ulteriori informazioni, consulta [Controllo dell'accesso con i gruppi di sicurezza](Overview.RDSSecurityGroups.md).

I parametri utilizzati sono i seguenti:
+ `-u {{local_user}}`: specifica un nome utente. La prima volta si utilizza questo parametro, specificare il nome di un account utente nel database MariaDB locale, identificato dal parametro `--databases`.
+ `--databases {{database_name}}`: specifica il nome del database nell’istanza database MariaDB locale da importare in Amazon RDS.
+ `--single-transaction` – Verifica che tutti i dati caricati dal database locale siano coerenti a un singolo punto temporale. Nel caso in cui vi siano altri processi che modificano i dati mentre `mysqldump` o `mariadb-dump` li legge, l’utilizzo di questo parametro consente di preservare l’integrità dei dati. 
+ `--compress` – Riduce il consumo della larghezza di banda di rete comprimendo i dati dal database locale prima di inviarli ad Amazon RDS.
+ `--order-by-primary`: riduce il tempo di caricamento ordinando i dati di ogni tabella in base alla chiave primaria.
+ `--routines`: parametro utilizzato se nel database da copiare sono presenti routine, ad esempio stored procedure o funzioni. Imposta il parametro su `0` per escludere le routine durante il processo di importazione. Successivamente, ricrea manualmente le routine nel database Amazon RDS.
+ `--triggers`: parametro utilizzato se nel database da copiare sono presenti trigger. Imposta il parametro su `0` per escludere i trigger durante il processo di importazione. Successivamente, ricrea manualmente i trigger nel database Amazon RDS.
+ `--events`: parametro utilizzato se nel database da copiare sono presenti eventi. Imposta il parametro su `0` per escludere gli eventi durante il processo di importazione. Successivamente, ricrea manualmente gli eventi nel database Amazon RDS. 
+ `-p{{local_password}}` – Specifica una password. La prima volta che si utilizza questo parametro, specificare la password per l’account utente identificato dal primo parametro `-u`.
+ `-u {{RDS_user}}`: specifica un nome utente. La seconda volta che si utilizza questo parametro, specificare il nome di un account utente nel database predefinito per l’istanza database MariaDB identificata dal parametro `--host`.
+ `--port {{port_number}}`: specifica la porta per l’istanza database MariaDB. Il valore predefinito è 3306, che può essere modificato al momento della creazione dell’istanza database.
+ `--host {{host_name}}` – Specifica il nome del sistema dei nomi di dominio (DNS) dall'endpoint dell'istanza database Amazon RDS, ad esempio `myinstance.123456789012.us-east-1.rds.amazonaws.com`. Il valore dell’endpoint è disponibile nei dettagli dell’istanza database nella console Amazon RDS.
+ `-p{{RDS_password}}` – Specifica una password. La seconda volta che usi questo parametro, devi specificare la password per l'account utente identificato dal secondo parametro `-u`.

Eventuali procedure, trigger, funzioni o eventi devono essere creati manualmente nel database Amazon RDS. Se nel database da copiare sono presenti questi tipi di oggetti, è necessario escluderli quando si esegue `mysqldump` o `mariadb-dump`. A tale scopo, includi i seguenti parametri con il comando `mysqldump` o `mariadb-dump`: 
+ `--routines=0`
+ `--triggers=0`
+ `--events=0`

**Esempio**

Di seguito il database di esempio `world` viene copiato nell’host locale in un’istanza database RDS per MariaDB. Sostituisci i valori con le tue informazioni.

Per Linux, macOS o Unix:

```
sudo mariadb-dump -u {{local_user}} \
    --databases {{world}} \
    --single-transaction \
    --compress \
    --order-by-primary  \
    --routines=0 \
    --triggers=0 \
    --events=0 \
    -p{{local_password}} | mariadb -u {{rds_user}} \
        --port={{3306}} \
        --host={{my_instance.123456789012.us-east-1.rds.amazonaws.com}} \
        -p{{RDS_password}}
```

Per Windows:

Apri un prompt dei comandi facendo clic con il pulsante destro del mouse su **Prompt dei comandi** del menu dei programmi di Windows e selezionando **Esegui come amministratore** ed esegui il comando seguente. Sostituisci i valori con le tue informazioni. 

```
mariadb-dump -u {{local_user}} ^
    --databases {{world}} ^
    --single-transaction ^
    --compress ^
    --order-by-primary  ^
    --routines=0 ^
    --triggers=0 ^
    --events=0 ^
    -p{{local_password}} | mariadb -u {{RDS_user}} ^
        --port={{3306}} ^
        --host={{my_instance.123456789012.us-east-1.rds.amazonaws.com}} ^
        -p{{RDS_password}}
```

**Nota**  
Come best practice per la sicurezza, specifica credenziali diverse dai prompt mostrati nell’esempio.