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à.
Confronto tra Aurora MySQL versione 2 e Aurora MySQL versione 3
Utilizzare quanto segue per scoprire le modifiche di cui essere a conoscenza quando si aggiorna il cluster Aurora MySQL versione 2 alla versione 3.
Supporto per Atomic DDL (Data Definition Language).
Una delle modifiche più importanti da MySQL 5.7 a 8.0 è l’introduzione dell’Atomic Data Dictionary
Per risolvere questo problema, MySQL 8.0 ha introdotto l’Atomic Data Dictionary, che archivia tutti i metadati in un set di tabelle InnoDB interne nello schema mysql. Questa nuova architettura offre un modo transazionale e conforme agli standard ACID
A causa di questa modifica all’architettura, è necessario considerare quanto segue durante l’aggiornamento da Aurora MySQL versione 2 alla versione 3:
-
È necessario eseguire la migrazione dei metadati basati su file della versione 2 nelle nuove tabelle dei dizionari di dati durante il processo di aggiornamento alla versione 3. A seconda del numero di oggetti del database di cui viene eseguita la migrazione, questa operazione potrebbe richiedere tempo.
-
Le modifiche hanno inoltre introdotto alcune nuove incompatibilità che potrebbero dover essere risolte prima di poter eseguire l’aggiornamento da MySQL 5.7 a 8.0. Ad esempio, 8.0 include alcune nuove parole chiave riservate che potrebbero entrare in conflitto con i nomi degli oggetti del database esistenti.
Per aiutarti a identificare queste incompatibilità prima di aggiornare il motore, Aurora MySQL esegue una serie di controlli di compatibilità degli aggiornamenti (controlli preliminari) per determinare se ci sono oggetti incompatibili nel dizionario del database, prima di eseguire l’aggiornamento del dizionario dei dati. Per ulteriori informazioni sui controlli preliminari, consulta Controlli preliminari per gli aggiornamenti a versioni principali per Aurora MySQL.
Differenze di funzionalità tra Aurora MySQL versione 2 e 3
Le seguenti caratteristiche di Amazon Aurora MySQL sono supportate in Aurora MySQL 5.7, ma attualmente non in Aurora MySQL 8.0:
-
Non puoi utilizzare Aurora MySQL versione 3 per cluster Aurora Serverless v1. Aurora MySQL versione 3 funziona con Aurora Serverless v2.
-
La modalità Lab non si applica ad Aurora MySQL versione 3. Non ci sono funzionalità in modalità laboratorio in Aurora MySQL versione 3. Instant DDL sostituisce la veloce funzionalità DDL online precedentemente disponibile in modalità laboratorio. Per vedere un esempio, consulta DDL istantaneo (Aurora MySQL versione 3).
-
La cache delle query viene rimossa dalla community MySQL 8.0 e anche da Aurora MySQL versione 3.
-
Aurora MySQL versione 3 è compatibile con la funzionalità hash join MySQL della community. L'implementazione specifica di Aurora di hash join in Aurora MySQL versione 2 non viene utilizzata. Per informazioni sull'utilizzo di hash join con la query parallela Aurora, consultare Abilitazione dell'hash join per cluster di query parallele e Suggerimenti di Aurora MySQL. Per informazioni generali sull'utilizzo su hash join, vedere Ottimizzazione hash join
nel Manuale di riferimento MySQL. -
La procedura archiviata
mysql.lambda_asyncresa obsoleta in Aurora MySQL versione 2 viene rimossa nella versione 3. Per la versione 3, utilizzare invece la funzione asincronalambda_async. -
Il set di caratteri predefinito in Aurora MySQL versione 3 è
utf8mb4. In Aurora MySQL versione 2, il set di caratteri predefinito eralatin1. Per informazioni su questo set di caratteri, consultare Il set di caratteri utf8mb4 (4-Byte UTF-8 Unicode Encoding)nel Manuale di riferimento MySQL.
Alcune funzionalità di Aurora MySQL sono disponibili per alcune combinazioni di regione AWS e versione del motore del database. Per dettagli, consultare Funzionalità supportate in Amazon Aurora by e Regione AWS Aurora DB engine.
Supporto delle classi di istanza
Aurora MySQL versione 3 supporta un set di classi di istanza diverso da quello di Aurora MySQL versione 2:
-
Per istanze più grandi, è possibile utilizzare le classi di istanza moderne come
db.r5,db.r6g, edb.x2g. -
Per istanze più piccole, è possibile utilizzare le classi di istanza moderne come
db.t3edb.t4g.Nota
Consigliamo di utilizzare le classi di istanza database T solo per i server di sviluppo e test o altri server non di produzione. Per ulteriori informazioni sulle classi di istanza T, consulta Utilizzo delle classi di istanza T per lo sviluppo e i test.
Le seguenti classi di istanza di Aurora MySQL versione 2 non sono disponibili per Aurora MySQL versione 3:
-
db.r4 -
db.r3 -
db.t3.small -
db.t2
Controllare gli script di amministrazione per eventuali istruzioni CLI che creano istanze database Aurora MySQL. Codificare i nomi delle classi di istanza che non sono disponibili per Aurora MySQL versione 3. Se necessario, modificare i nomi delle classi di istanza con quelli supportati da Aurora MySQL versione 3.
Suggerimento
Per controllare le classi di istanza che è possibile utilizzare per una combinazione specifica della versione di Aurora MySQL e regione AWS, utilizza il comando describe-orderable-db-instance-options AWS CLI.
Per i dettagli sulle classi di istanza Aurora, consultare Classi di istanze database Amazon Aurora.
Modifiche ai parametri per Aurora MySQL versione 3
Aurora MySQL versione 3 include nuovi parametri di configurazione a livello di cluster e a livello di istanza. Aurora MySQL versione 3 rimuove anche alcuni parametri presenti in Aurora MySQL versione 2. Alcuni nomi dei parametri vengono modificati a seguito dell'iniziativa per un linguaggio inclusivo. Per la compatibilità con le versioni precedenti, è comunque possibile recuperare i valori dei parametri utilizzando i vecchi nomi o i nuovi nomi. Tuttavia, è necessario utilizzare i nuovi nomi per specificare i valori dei parametri in un gruppo di parametri personalizzato.
In Aurora MySQL versione 3, il valore del parametro lower_case_table_names viene impostato in modo permanente al momento della creazione del cluster. Se si utilizza un valore non predefinito per questa opzione, configurare il gruppo di parametri personalizzati Aurora MySQL versione 3 prima dell'aggiornamento. Quindi specificare il gruppo di parametri durante l'operazione di creazione del cluster o del ripristino dello snapshot.
Nota
Con un database globale Aurora basato su Aurora MySQL, non puoi eseguire un aggiornamento locale da Aurora MySQL versione 2 alla versione 3 se il parametro lower_case_table_names è attivato. Utilizzare invece il metodo di ripristino snapshot.
In Aurora MySQL versione 3, i parametri init_connect e read_only non si applicano agli utenti che dispongono del privilegio CONNECTION_ADMIN, incluso l'utente master Aurora. Per ulteriori informazioni, consulta Privilegio basato sui ruoli.
Per un elenco di tutti i parametri del cluster Aurora MySQL, consultare Parametri a livello di cluster. La tabella copre tutti i parametri di Aurora MySQL versione 2 e 3. La tabella include note che mostrano quali parametri sono nuovi in Aurora MySQL versione 3 o sono stati rimossi da Aurora MySQL versione 3.
Per un elenco di tutti i parametri dell'istanza Aurora MySQL, consultare Parametri a livello di istanza. La tabella copre tutti i parametri di Aurora MySQL versione 2 e 3. La tabella include note che mostrano quali parametri sono nuovi in Aurora MySQL versione 3 e quali parametri sono stati rimossi da Aurora MySQL versione 3. Include anche note che mostrano quali parametri erano modificabili nelle versioni precedenti ma non Aurora MySQL versione 3.
Per informazioni sui nomi dei parametri modificati, consultare Cambiamenti linguistici inclusivi per Aurora MySQL versione 3.
Variabili di stato
Per informazioni sulle variabili di stato che non sono applicabili a Aurora MySQL, vedere Le variabili di stato MySQL seguenti non si applicano ad Aurora MySQL.
Cambiamenti linguistici inclusivi per Aurora MySQL versione 3
La versione iniziale di Aurora MySQL versione 3 è compatibile con la community MySQL 8.0.23. Aurora MySQL versione 3 include anche i cambiamenti da MySQL 8.0.26 relativi alle parole chiave e agli schemi di sistema per il linguaggio inclusivo. Ad esempio, il comando SHOW REPLICA STATUS è ora preferito invece di SHOW SLAVE STATUS.
Le seguenti metriche Amazon CloudWatch hanno nuovi nomi in Aurora MySQL versione 3.
In Aurora MySQL versione 3, sono disponibili solo i nuovi nomi delle metriche. Assicurati di aggiornare qualsiasi allarme o altra automazione basata sui nomi delle metriche quando esegui l'aggiornamento a Aurora MySQL versione 3.
| Vecchio nome | Nuovo nome |
|---|---|
ForwardingMasterDMLLatency
|
ForwardingWriterDMLLatency
|
ForwardingMasterOpenSessions
|
ForwardingWriterOpenSessions
|
AuroraDMLRejectedMasterFull
|
AuroraDMLRejectedWriterFull
|
ForwardingMasterDMLThroughput
|
ForwardingWriterDMLThroughput
|
Le seguenti variabili di stato hanno nuovi nomi in Aurora MySQL versione 3.
Per compatibilità, è possibile utilizzare entrambi i nomi nella versione iniziale di Aurora MySQL versione 3. I nomi delle variabili di stato precedenti devono essere rimossi in una versione futura.
| Nome da rimuovere | Nome nuovo o preferito |
|---|---|
Aurora_fwd_master_dml_stmt_duration
|
Aurora_fwd_writer_dml_stmt_duration
|
Aurora_fwd_master_dml_stmt_count
|
Aurora_fwd_writer_dml_stmt_count
|
Aurora_fwd_master_select_stmt_duration
|
Aurora_fwd_writer_select_stmt_duration
|
Aurora_fwd_master_select_stmt_count
|
Aurora_fwd_writer_select_stmt_count
|
Aurora_fwd_master_errors_session_timeout
|
Aurora_fwd_writer_errors_session_timeout
|
Aurora_fwd_master_open_sessions
|
Aurora_fwd_writer_open_sessions
|
Aurora_fwd_master_errors_session_limit
|
Aurora_fwd_writer_errors_session_limit
|
Aurora_fwd_master_errors_rpc_timeout
|
Aurora_fwd_writer_errors_rpc_timeout
|
I seguenti parametri di configurazione hanno nuovi nomi in Aurora MySQL versione 3.
Per la compatibilità, è possibile controllare i valori dei parametri nel client di mysql utilizzando entrambi i nomi nella versione iniziale di Aurora MySQL versione 3. Puoi utilizzare i nuovi nomi solo quando modifichi i valori in un gruppo di parametri personalizzati. I nomi dei parametri precedenti devono essere rimossi in una versione futura.
| Nome da rimuovere | Nome nuovo o preferito |
|---|---|
aurora_fwd_master_idle_timeout
|
aurora_fwd_writer_idle_timeout
|
aurora_fwd_master_max_connections_pct
|
aurora_fwd_writer_max_connections_pct
|
master_verify_checksum
|
source_verify_checksum
|
sync_master_info
|
sync_source_info
|
init_slave
|
init_replica
|
rpl_stop_slave_timeout
|
rpl_stop_replica_timeout
|
log_slow_slave_statements
|
log_slow_replica_statements
|
slave_max_allowed_packet
|
replica_max_allowed_packet
|
slave_compressed_protocol
|
replica_compressed_protocol
|
slave_exec_mode
|
replica_exec_mode
|
slave_type_conversions
|
replica_type_conversions
|
slave_sql_verify_checksum
|
replica_sql_verify_checksum
|
slave_parallel_type
|
replica_parallel_type
|
slave_preserve_commit_order
|
replica_preserve_commit_order
|
log_slave_updates
|
log_replica_updates
|
slave_allow_batching
|
replica_allow_batching
|
slave_load_tmpdir
|
replica_load_tmpdir
|
slave_net_timeout
|
replica_net_timeout
|
sql_slave_skip_counter
|
sql_replica_skip_counter
|
slave_skip_errors
|
replica_skip_errors
|
slave_checkpoint_period
|
replica_checkpoint_period
|
slave_checkpoint_group
|
replica_checkpoint_group
|
slave_transaction_retries
|
replica_transaction_retries
|
slave_parallel_workers
|
replica_parallel_workers
|
slave_pending_jobs_size_max
|
replica_pending_jobs_size_max
|
pseudo_slave_mode
|
pseudo_replica_mode
|
Le seguenti stored procedure hanno nuovi nomi in Aurora MySQL versione 3.
Per compatibilità, è possibile utilizzare entrambi i nomi nella versione iniziale di Aurora MySQL versione 3. I nomi delle procedure precedenti devono essere rimossi in una versione futura.
| Nome da rimuovere | Nome nuovo o preferito |
|---|---|
mysql.rds_set_master_auto_position
|
mysql.rds_set_source_auto_position
|
mysql.rds_set_external_master
|
mysql.rds_set_external_source
|
mysql.rds_set_external_master_with_auto_position
|
mysql.rds_set_external_source_with_auto_position
|
mysql.rds_reset_external_master
|
mysql.rds_reset_external_source
|
mysql.rds_next_master_log
|
mysql.rds_next_source_log
|
Valori AUTO_INCREMENT
In Aurora MySQL versione 3, Aurora conserva il valore AUTO_INCREMENT per ogni tabella quando riavvia ogni istanza database. In Aurora MySQL versione 2, il valore AUTO_INCREMENT non è stato conservato dopo un riavvio.
Il valore AUTO_INCREMENT non viene mantenuto quando si configura un nuovo cluster ripristinando da uno snapshot, eseguendo un ripristino point-in-time (PITR) e clonando un cluster. In questi casi, il valore AUTO_INCREMENT viene inizializzato sul valore in base al valore di colonna più grande nella tabella al momento della creazione dello snapshot. Questo comportamento è diverso da quello in RDS per MySQL 8.0, dove il valore AUTO_INCREMENT viene mantenuto durante queste operazioni.
Replica dei log binari
Nell'edizione della community MySQL 8.0, la replica del log binario è attivata per impostazione predefinita. In Aurora MySQL versione 3, la replica del log binario è disattivata per impostazione predefinita.
Suggerimento
Se i requisiti di elevata disponibilità sono soddisfatti dalle funzionalità di replica incorporate di Aurora, è possibile lasciare disattivata la replica del log binario. In questo modo, è possibile evitare il sovraccarico delle prestazioni della replica del log binario. È inoltre possibile evitare il monitoraggio e la risoluzione dei problemi associati necessari per gestire la replica dei log binari.
Aurora supporta la replica dei log binari da una fonte compatibile con MySQL 5.7 a Aurora MySQL versione 3. Il sistema fonte può essere un cluster database Aurora MySQL, un'istanza database RDS for MySQL o un'istanza MySQL locale.
Come fa MySQL della community, Aurora MySQL supporta la replica da una fonte che esegue una versione specifica a una destinazione che esegue la stessa versione principale o una versione principale superiore. Ad esempio, la replica da un sistema compatibile con MySQL 5.6 ad Aurora MySQL versione 3 non è supportata. La replica da Aurora MySQL versione 3 a un sistema compatibile con MySQL 5.7 o compatibile con MySQL 5.6 non è supportata. Per i dettagli sull'utilizzo della replica dei log binari, consultare Replica tra Aurora e MySQL o tra Aurora e un altro cluster di database Aurora (replica dei log binari).
Aurora MySQL versione 3 include miglioramenti alla replica dei log binari nella community MySQL 8.0, come la replica filtrata. Per informazioni dettagliate sui miglioramenti di MySQL 8.0 della community, consultare Come i server valutano le regole di filtro delle repliche
Compressione delle transazioni per la replica dei registri binari
Per informazioni sull'utilizzo sulla compressione del log binario, vedere Compressione delle transazioni dei registri
Le seguenti limitazioni si applicano alla compressione dei log binari in Aurora MySQL versione 3:
-
Le transazioni i cui dati di registro binario sono superiori alla dimensione massima consentita del pacchetto non vengono compresse. Ciò è vero a prescindere che l'impostazione di compressione del registro binario di Aurora MySQL sia attivata. Tali transazioni vengono replicate senza essere compresse.
-
Se si utilizza un connettore per l'acquisizione dati di modifica (CDC) che non supporta ancora MySQL 8.0, non è possibile utilizzare questa funzione. Ti consigliamo di testare accuratamente tutti i connettori di terze parti con la compressione del registro binario. Inoltre, ti consigliamo di eseguire questa operazione prima di attivare la compressione binlog su sistemi che utilizzano la replica del binlog per CDC.