Supporto delle funzionalità MySQL su Amazon RDS - Amazon Relational Database Service

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

Supporto delle funzionalità MySQL su Amazon RDS

RDS per MySQL supporta la maggior parte delle caratteristiche e delle funzionalità di MySQL. Alcune funzionalità potrebbero avere un supporto o privilegi limitati.

Please change to "Puoi filtrare le nuove funzionalità Amazon RDS alla pagina Quali sono le novità del database?. Per Prodotti, scegli Amazon RDS. Quindi esegui la ricerca utilizzando parole chiave come MySQL 2022.

Nota

I seguenti elenchi non sono esaustivi.

Supporto delle funzionalità MySQL nelle versioni principali di Amazon RDS per MySQL

Nelle seguenti sezioni sono disponibili informazioni sul supporto delle funzionalità MySQL nelle versioni principali di Amazon RDS per MySQL:

Per informazioni sulle versioni secondarie di Amazon RDS per MySQL supportate, consulta Versioni secondarie di MySQL supportate in Amazon RDS.

Supporto di MySQL 8.4 in Amazon RDS

Amazon RDS supporta le nuove funzionalità seguenti per le istanze database che eseguono MySQL 8.4 o versioni successive.

  • Libreria crittografica: RDS per MySQL ha sostituito OpenSSL con AWS Libcrypto (AWS-LC), con certificazione FIPS 140-3. Per ulteriori informazioni, consulta il repository GitHub di AWS-LC all’indirizzo https://github.com/aws/aws-lc.

  • Modifiche TLS: RDS per MySQL supporta solo TLS 1.2 e TLS 1.3. Per ulteriori informazioni, consulta Supporto di SSL/TLS per le istanze database MySQL in Amazon RDS.

  • Supporto memcached: l’interfaccia memcached non è più disponibile in MySQL 8.4. Per ulteriori informazioni, consulta Supporto per memcached MySQL.

  • Plugin di autenticazione predefinito: il plugin di autenticazione predefinito è caching_sha2_password. Per ulteriori informazioni, consulta Plugin di autenticazione MySQL predefinito.

  • Utilità client mysqlpump: l’utilità client mysqlpump non è più disponibile in MySQL 8.4. Per ulteriori informazioni, consulta Privilegio basato sui ruoli per RDS per MySQL e mysqldump e mysqlpump nel Prontuario AWS.

  • Stored procedure della replica gestita: quando si utilizzano stored procedure per gestire la replica con un utente di replica configurato con caching_sha2_password, è necessario configurare TLS specificando SOURCE_SSL=1. caching_sha2_password è il plugin di autenticazione predefinito per RDS per MySQL 8.4.

  • Modifiche al comportamento dei parametri: i parametri seguenti sono stati modificati in MySQL 8.4.

  • Parametri obsoleti o rimossi: RDS per MySQL ha rimosso i seguenti parametri dai gruppi di parametri per le istanze database MySQL 8.4. Il innodb_redo_log_capacity parametro ora controlla la dimensione dei file di log di redo.

    • innodb_log_file_size

    • innodb_log_files_in_group

  • Nuovi valori predefiniti per i parametri: i parametri seguenti hanno nuovi valori predefiniti per le istanze database MySQL 8.4:

    • Diversi parametri della Community MySQL relativi alle prestazioni sono cambiati. Per ulteriori informazioni, consulta What is New in MySQL 8.4 since MySQL 8.0.

      Si consiglia di testare le prestazioni dell’applicazione in RDS per MySQL 8.4 prima di migrare un’istanza di produzione.

    • innodb_purge_threads: il valore predefinito è impostato sulla formula LEAST({DBInstanceVCPU/2},4) per evitare che la lunghezza dell’elenco della cronologia di InnoDB aumenti troppo.

    • group_replication_exit_state_action: il valore predefinito è OFFLINE_MODE, allineato con il valore predefinito nella Community MySQL. Per ulteriori informazioni, consulta Considerazioni e best practice per i cluster attivi-attivi di RDS per MySQL.

    • binlog_format: il valore predefinito è ROW, allineato con il valore predefinito nella Community MySQL. È possibile modificare il parametro per le istanze database Single-AZ o Multi-AZ, ma non per i cluster di database Multi-AZ. I cluster di database Multi-AZ utilizzano la replica semisincrona e quando binlog_format è impostato su MIXED o STATEMENT, la replica non riesce.

  • Modifiche per un linguaggio inclusivo: in RDS per MySQL 8.4 sono state apportate modifiche da RDS per MySQL 8.0 relative alle parole chiave e agli schemi di sistema per un linguaggio inclusivo. Per ulteriori informazioni, consulta Modifiche per un linguaggio inclusivo in RDS per MySQL 8.4.

Per un elenco di tutte le funzionalità e tutte le modifiche di MySQL 8.4, consulta What Is New in MySQL 8.4 since MySQL 8.0 nella documentazione MySQL.

Per un elenco delle funzionalità non supportate, consulta Caratteristiche di MySQL non supportate da Amazon RDS.

Motori di storage supportati per RDS for MySQL

MySQL supporta più motori di storage con funzionalità diverse, ma non tutti sono ottimizzati per il recovery e la durabilità dei dati. Amazon RDS supporta completamente il motore di archiviazione InnoDB per le istanze database MySQL. Le funzionalità Ripristino point-in-time e Ripristino di snapshot di Amazon RDS richiedono un motore di storage che supporti il recupero da arresto anomalo e sono disponibili solo per il motore di storage InnoDB. Per ulteriori informazioni, consulta Supporto per memcached MySQL.

Il motore di storage Federated non è attualmente supportato da Amazon RDS for MySQL.

Per gli schemi creati dall'utente, il motore di storage MyISAM non supporta il ripristino in modo affidabile e può causare la perdita o il danneggiamento dei dati quando si riavvia MySQL dopo un ripristino, impedendo il corretto funzionamento del ripristino point-in-time o del ripristino da uno snapshot. Tuttavia, se scegli comunque di utilizzare MyISAM con Amazon RDS gli snapshot possono essere utili in alcune situazioni.

Nota

Le tabelle del sistema nello schema mysql possono trovarsi nello storage MyISAM.

Per convertire le tabelle MyISAM esistenti in tabelle InnoDB, è possibile utilizzare il comando ALTER TABLE, ad esempio alter table TABLE_NAME engine=innodb;. Tieni presente che MyISAM e InnoDB hanno diversi punti di forza e di debolezza, quindi è necessario valutare a fondo le conseguenze di questa modifica sulle applicazioni, prima di eseguirla.

MySQL 5.1, 5.5 e 5.6 non sono più supportati in Amazon RDS. Puoi tuttavia ripristinare gli snapshot di MySQL 5.1, 5.5 e 5.6 esistenti. Quando ripristini uno snapshot di MySQL 5.1, 5.5 o 5.6, l'istanza database viene aggiornata automaticamente a MySQL 5.7.

Uso di memcached e altre opzioni con MySQL su Amazon RDS

La maggior parte dei motori di database Amazon RDS supporta gruppi di opzioni che permettono di selezionare caratteristiche aggiuntive per l'istanza database. Le istanze di database RDS per MySQL supportano l'opzione memcached, una cache semplice basata su chiave. Per ulteriori informazioni su memcached e altre opzioni, consulta Opzioni per le istanze database MySQL. Per ulteriori informazioni sull'utilizzo di gruppi di opzioni, consulta Uso di gruppi di opzioni.

Precaricamento della cache InnoDB per MySQL su Amazon RDS

Il precaricamento della cache InnoDB può offrire vantaggi in termini di prestazioni per l'istanza database MySQL salvando lo stato corrente del pool di buffer quando l'istanza database viene arrestata e quindi ricaricando il pool di buffer con le informazioni salvate quando l'istanza database si avvia. Ciò evita la necessità di preparare il pool di buffer dal normale utilizzo del database e permette invece di precaricare il pool di buffer con le pagine per le query comuni note. Il file che archivia le informazioni del pool di buffer salvato archivia solo i metadati per le pagine che si trovano nel pool di buffer e non le pagine stesse. Di conseguenza, il file non richiede molto spazio di storage. La dimensione del file equivale circa allo 0,2% della dimensione della cache. Ad esempio, per una cache da 64 GiB, il file di precaricamento della cache è di 128 MiB. Per ulteriori informazioni sul precaricamento della cache InnoDB, consulta la pagina relativa al salvataggio e ripristino dello stato del pool di buffer nella documentazione di MySQL.

Le istanze database RDS per MySQL supportano il precaricamento della cache InnoDB. Per abilitare il precaricamento della cache InnoDB, imposta i parametri innodb_buffer_pool_dump_at_shutdown e innodb_buffer_pool_load_at_startup su 1 nel gruppo di parametri per l'istanza database. La modifica dei valori di questi parametri in un gruppo di parametri ha effetto in tutte le istanze database MySQL che utilizzano tale gruppo di parametri. Per abilitare il precaricamento della cache InnoDB per istanze database MySQL specifiche, devi creare un nuovo gruppo di parametri per tali istanze. Per informazioni sui gruppi di parametri, consulta Gruppi di parametri per Amazon RDS.

Il precaricamento della cache InnoDB fornisce principalmente un vantaggio in termini di prestazioni per le istanze database che utilizzano lo storage standard. Se utilizzi lo storage PIOPS non riscontrerai generalmente un vantaggio significativo in termini di prestazioni.

Importante

Se l'istanza database MySQL non si arresta normalmente, ad esempio durante un failover, lo stato del pool di buffer non viene salvato nel disco. In questo caso, al riavvio dell'istanza database, MySQL carica il file del pool di buffer disponibile. Ciò non comporta alcun problema, ma il pool di buffer ripristinato potrebbe non riflettere lo stato più recente del pool di buffer prima del riavvio. Per fare in modo che sia disponibile uno stato recente del pool di buffer per precaricare la cache InnoDB all'avvio, è consigliabile eseguire periodicamente un dump del pool di buffer "on demand".

Puoi creare un evento per eseguire il dump del pool di buffer automaticamente e a intervalli regolari. L'istruzione seguente crea ad esempio un evento denominato periodic_buffer_pool_dump che esegue il dump del pool di buffer ogni ora.

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

Per ulteriori informazioni sugli eventi MySQL, consulta la sintassi degli eventi nella documentazione di MySQL.

Dump e caricamento del pool di buffer on demand

Puoi salvare e caricare la cache InnoDB "on demand".

Modifiche per un linguaggio inclusivo in RDS per MySQL 8.4

In RDS per MySQL 8.4 sono state apportate modifiche dalla versione Community di MySQL 8.4 relative alle parole chiave e agli schemi di sistema per un linguaggio inclusivo. Ad esempio, il comando SHOW REPLICA STATUS sostituisce SHOW SLAVE STATUS.

Modifiche dei nomi dei parametri di configurazione

I seguenti parametri di configurazione hanno nuovi nomi in RDS per MySQL 8.4.

Per compatibilità, è possibile controllare i nomi dei parametri nel client mysql utilizzando entrambi i nomi. È possibile utilizzare i nuovi nomi solo quando si modificano i valori in un gruppo di parametri di MySQL 8.4 personalizzato. Per ulteriori informazioni, consulta Gruppi di parametri predefiniti e personalizzati.

Nome da rimuovere Nome nuovo o preferito

init_slave

init_replica

log_slave_updates

log_replica_updates

log_slow_slave_statements

log_slow_replica_statements

rpl_stop_slave_timeout

rpl_stop_replica_timeout

skip_slave_start

skip_replica_start

slave_checkpoint_group

replica_checkpoint_group

slave_checkpoint_period

replica_checkpoint_period

slave_compressed_protocol

replica_compressed_protocol

slave_exec_mode

replica_exec_mode

slave_load_tmpdir

replica_load_tmpdir

slave_max_allowed_packet

replica_max_allowed_packet

slave_net_timeout

replica_net_timeout

slave_parallel_type

replica_parallel_type

slave_parallel_workers

replica_parallel_workers

slave_pending_jobs_size_max

replica_pending_jobs_size_max

slave_preserve_commit_order

replica_preserve_commit_order

slave_skip_errors

replica_skip_errors

slave_sql_verify_checksum

replica_sql_verify_checksum

slave_transaction_retries

replica_transaction_retries

slave_type_conversions

replica_type_conversions

sql_slave_skip_counter

sql_replica_skip_counter

Nota

Il parametro replica_allow_batching non è disponibile perché Amazon RDS non supporta i cluster NDB.

Modifiche dei nomi delle stored procedure

Le stored procedure seguenti hanno nuovi nomi in RDS per MySQL 8.4.

Per compatibilità, è possibile utilizzare entrambi i nomi nella versione iniziale di RDS per MySQL 8.4. I nomi delle procedure precedenti devono essere rimossi in una versione futura. Per ulteriori informazioni, consulta Configurazione, avvio e arresto della replica dei log binari (binlog).

Nome da rimuovere Nome nuovo o preferito

mysql.rds_next_master_log

mysql.rds_next_source_log

mysql.rds_reset_external_master

mysql.rds_reset_external_source

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_set_external_master_with_delay

mysql.rds_set_external_source_with_delay

mysql.rds_set_master_auto_position

mysql.rds_set_source_auto_position

Caratteristiche di MySQL non supportate da Amazon RDS

Al momento, Amazon RDS non supporta le caratteristiche seguenti di MySQL:

  • Plug-in di autenticazione

  • Registrazione degli errori nel log di sistema

  • Crittografia di spazi tabelle InnoDB

  • Cluster NDB

  • Plug-in per la complessità della password

  • Variabili di sistema persistenti

  • Plugin di riscrittura Rewriter Query

  • Replica semisincrona, ad eccezione dei cluster di database Multi-AZ

  • Spazio di tabella trasportabile

  • Plug-in IDE

Per offrire un'esperienza di servizio gestito, Amazon RDS non fornisce accesso shell alle istanze database. Limita anche l'accesso ad alcune procedure di sistema e tabelle che richiedono privilegi avanzati. Amazon RDS supporta l'accesso ai database in un'istanza database con qualsiasi applicazione client SQL standard. Amazon RDS non consente l'accesso host diretto a un'istanza database tramite Telnet, Secure Shell (SSH) o Windows Remote Desktop Connection. Quando si crea un’istanza database, viene assegnato il ruolo db_owner per tutti i database dell’istanza e si dispone di tutte le autorizzazioni a livello di database, ad eccezione di quelle utilizzate per i backup. Amazon RDS gestisce i backup per tuo conto.