Databases for MySQL 8.4 GA

Nell'ambito del nostro impegno a offrire un portafoglio di database cloud ricco e maturo, Cloud Databases rilascia la versione MySQL 8.4.

Nuove implementazioni di Databases for MySQL

Per le nuove installazioni di Cloud Databases, eseguire un backup dell'istanza esistente di v8.0 e importarla in un'installazione v8.4. Usare strumenti come mysqldump o mydumper per importare in Databases for MySQL v8.4 distribuzione. Per ulteriori informazioni, consultare Migrazione a Databases for MySQL.

Distribuzioni esistenti di Databases for MySQL v8.0

Per trasferire le distribuzioni esistenti di v8.0 su IBM Cloud® Databases for MySQL alla nuova versione principale v8.4, è necessario eseguire un aggiornamento alla versione principale. Il percorso consigliato è ripristinare un backup della distribuzione esistente di v8.0 in una nuova distribuzione che esegue MySQL v8.4. È possibile avviare questo processo di aggiornamento utilizzando l'interfaccia utente, la CLI o l'API. Per istruzioni dettagliate e passo passo su come eseguire questo aggiornamento alla versione principale, vedere Aggiornamento a una nuova versione principale.

Una volta completato l'aggiornamento, le modifiche non possono essere ripristinate. Le modifiche sono incompatibili e non è possibile utilizzare la directory dei dati da MySQL 8.4 su MySQL 8.0. Conserva il backup dell' MySQL v8.0, poiché ti aiuterà a ripristinarlo su un'istanza MySQL v8.0 qualora fosse necessario annullare le modifiche.

Requisiti per l'aggiornamento

Prima di procedere con qualsiasi aggiornamento, consultare MySQL's Preparazione dell'installazione per l'aggiornamento per assicurarsi che sia pronta per l'aggiornamento.

Introduzione a MySQL 8.4e LTS

MySQL 8.4 è la nuova versione con supporto a lungo termine (LTS). Essendo una versione LTS, le sue funzionalità sono stabili e bloccate dopo il rilascio iniziale dell' 8.4.0. Con l'arrivo della fine del ciclo di vita di MySQL 8.0, la migrazione a MySQL 8.4 è fondamentale per continuare a ricevere assistenza, correzioni di bug e aggiornamenti di sicurezza.

Principali modifiche alle funzionalità nell' Databases for MySQL 8.4

Databases for MySQL introduce le seguenti nuove funzionalità per le istanze di database che eseguono la versione 2014 di MySQL 8.4:

  • Autenticazione: MySQL 8.4 impone caching_sha2_password come plugin di autenticazione predefinito, rimuovendo completamente la variabile default_authentication_plugin. I clienti che attualmente utilizzano mysql_native_password devono migrare i propri account a caching_sha2_password per evitare errori di connessione. Per ulteriori informazioni, consultare la sezione 8.4.1.1, Autenticazione nativa collegabile.
  • MySQL 8.4 (SQL Server 2008 Replication Guide): Aggiornamenti alla terminologia della replica: MySQL 8.4 impone un linguaggio inclusivo rimuovendo termini non inclusivi, come Master e Slave dalla sintassi SQL, il che significa che le istruzioni SQL di replica obsolete non sono più supportate e causeranno errori di sintassi. Ad esempio, utilizzare SHOW BINARY LOG STATUS anziché SHOW MASTER STATUS e utilizzare SHOW REPLICA STATUS anziché SHOW SLAVE STATUS. L'automazione e le configurazioni devono essere aggiornate per utilizzare questi nuovi nomi. Un elenco completo delle modifiche apportate è disponibile qui: Novità nell' MySQL 8.4 dalla versione MySQL 8.0.
  • Modifiche al comportamento dei parametri:
    • binlog_transaction_compression è impostato di default su ON per ridurre i tempi di trasferimento di rete e l'utilizzo dello spazio di archiviazione.
    • replica_parallel_workers è impostato di default su 200 per aumentare significativamente la concorrenza e velocizzare la riproduzione delle transazioni sulle repliche.
    • innodb_flush_log_at_trx_commit è impostato di default su 1 per garantire la massima durata dei dati sul nodo primario.
    • Il valore predefinito di binlog_transaction_compression_level_zstd è 3, per bilanciare l'efficienza della compressione con il carico della CPU.
  • Parametri deprecati o rimossi:
    • AUTO_INCREMENT: MySQL 8.4 non supporta AUTO_INCREMENT più su FLOAT o DOUBLE colonne. Prima dell'aggiornamento, è necessario modificare tutte le tabelle che utilizzano questa combinazione per evitare errori durante l'aggiornamento.
    • Rimosse le istruzioni di replica e le variabili: è stata rimossa un'ampia gamma di comandi MASTER /SLAVE* e variabili di stato. Ciò significa che qualsiasi script o strumento che si basa su queste variabili di stato non funzionerà più. Per un elenco completo delle istruzioni e delle variabili rimosse, consultare Novità nell' MySQL 8.4 a partire da MySQL 8.0.
    • Variabili di autenticazione: la variabile default_authentication_plugin è stata rimossa.
  • Modifiche significative:
    • Nuove parole chiave riservate: MySQL 8.4 riserva parole chiave quali MANUAL, PARALLEL, QUALIFY, e TABLESAMPLE. Se lo schema utilizza questi come identificatori non quotati, le query non funzioneranno dopo l'aggiornamento. Controllare e citare questi identificatori prima dell'aggiornamento.
    • Requisiti per l'aggiornamento dell'indice spaziale: un problema noto nel percorso di aggiornamento può causare il danneggiamento degli indici spaziali. Per garantire l'integrità dei dati, si consiglia di eliminare tutti gli indici spaziali prima dell'aggiornamento e di ricrearli immediatamente dopo il completamento della migrazione.
    • Aggiornamenti automatici dell'istogramma: MySQL 8.4 introduce gli aggiornamenti automatici dell'istogramma, migliorando l'ottimizzazione delle query ed eliminando la necessità di aggiornamenti manuali. Per abilitare l'aggiornamento automatico su un istogramma specifico, è sufficiente eseguire ANALYZE TABLE UPDATE HISTOGRAM con AUTO UPDATE l'opzione.
    • Miglioramenti dei privilegi: Il SET_USER_ID privilegio è stato sostituito da SET_ANY_DEFINER e ALLOW_NONEXISTENT_DEFINER.
    • GTID: introduce la possibilità di contrassegnare i gruppi di transazioni con GTID per un monitoraggio avanzato.

Per un elenco completo delle funzionalità e delle modifiche di MySQL 8.4, consultare la sezione Novità di MySQL 8.4 rispetto a MySQL 8.0 nella documentazione di MySQL.

Transizione da semi-sincronizzazione ad asincronia

Quando si esegue l'aggiornamento da Databases for MySQL v8.0 a v8.4, l'architettura di replica predefinita passa dalla replica semisincrona alla replica asincrona. Questa modifica migliora le prestazioni di scrittura e la resilienza assicurando che il nodo primario non si blocchi in attesa dei riconoscimenti delle repliche, rendendo l'ambiente del database più robusto e costantemente veloce. Ciò migliora l'alta disponibilità riducendo i tempi di failover e migliorando la reattività complessiva del sistema. Per ulteriori informazioni, vedi Descrizione di alta disponibilità e ripristino di emergenza per Databases for MySQL.