Disponibile il RDBMS MySQL 8.4.0 LTS

L'azienda Oracle ha creato un nuovo ramo del database MySQL 8.4 e ha pubblicato un aggiornamento correttivo per MySQL 8.0.37. Le versioni del MySQL Community Server 8.4.0 sono state preparate per tutte le principali distribuzioni di Linux, FreeBSD, macOS e Windows. Il rilascio 8.4.0 è stato assegnato ai rami con supporto a lungo termine (LTS), che vengono pubblicati ogni due anni e supportati per 5 anni (in aggiunta, è possibile ricevere altri 3 anni di supporto esteso).

MySQL 8.4.0 è il quarto rilascio generato secondo il nuovo modello di rilascio, che prevede due tipi di rami MySQL: 'Innovation' e 'LTS'. I rami Innovation, a cui appartengono MySQL 8.1, 8.2 e 8.3, sono raccomandati per coloro che desiderano accedere in anticipo alle nuove funzionalità. Questi rami vengono pubblicati ogni 3 mesi e supportati solo fino alla pubblicazione del successivo rilascio significativo (ad esempio, dopo l'uscita del ramo 8.4, il supporto per il ramo 8.3 viene interrotto). I rami LTS sono raccomandati per le implementazioni che richiedono prevedibilità e una conservazione duratura di un comportamento invariato. Dopo il ramo LTS verrà creato un nuovo ramo Innovation: MySQL 9.0.

Principali modifiche in MySQL 8.4:

  • L'ottimizzatore ha aggiunto supporto per l'aggiornamento automatico degli istogrammi, indipendentemente dall'esecuzione dell'operazione 'ANALYZE TABLE' per la tabella principale. L'aggiornamento automatico viene attivato specificando l'espressione 'AUTO UPDATE' durante l'esecuzione dell'operazione 'ANALYZE TABLE', ed è disattivato specificando l'espressione 'MANUAL UPDATE', che è utilizzata per impostazione predefinita.
  • Sono state aggiunte le opzioni '--keyring-migration-from-component', '--keyring-migration-source' e '--keyring-migration-destination' per la migrazione dal componente keyring al plugin keyring.
  • È stata aggiunta una nuova privilegio FLUSH_PRIVILEGES, che a differenza del privilegio RELOAD precedentemente disponibile, concede all'utente diritti solo per eseguire l'operazione 'FLUSH PRIVILEGES'.
  • È stata aggiunta una nuova privilegio OPTIMIZE_LOCAL_TABLE, consentendo all'utente di eseguire le operazioni 'OPTIMIZE LOCAL TABLE' e 'OPTIMIZE NO_WRITE_TO_BINLOG TABLE'.
  • I valori predefiniti delle variabili di sistema group_replication_consistency e group_replication_exit_state_action sono stati modificati. La variabile group_replication_consistency è ora impostata su BEFORE_ON_PRIMARY_FAILOVER invece di EVENTUAL, e la variabile group_replication_exit_state_action è impostata su OFFLINE_MODE invece di READ_ONLY.
  • Nelle versioni fornite con la libreria OpenSSL integrata, è stata adottata una nuova versione di OpenSSL 3.0.13.
  • L'aggiornamento diretto da MySQL 5.7 a MySQL 8.4 è stato interrotto. Per passare da MySQL 5.7, ora è necessario prima passare al ramo 8.0, e poi aggiornarlo alla versione 8.4.
  • Sono stati modificati i valori predefiniti delle seguenti impostazioni di InnoDB: innodb_adaptive_hash_index, innodb_buffer_pool_in_core_file, innodb_buffer_pool_instances, innodb_change_buffering, innodb_doublewrite_files, innodb_doublewrite_pages, innodb_flush_method, innodb_io_capacity, innodb_io_capacity_max, innodb_log_buffer_size, innodb_numa_interleave, innodb_page_cleaners, innodb_parallel_read_threads, innodb_purge_threads, innodb_read_io_threads, innodb_use_fdatasync, temptable_max_ram, temptable_max_mmap e temptable_use_mmap.
  • È stata aggiunta la supporto per la creazione di pacchetti per le distribuzioni Fedora 40 e Ubuntu 24.04.
  • Il plugin server mysql_native_password, che fornisce l'autenticazione tramite password, è stato disattivato di default ed è stato dichiarato obsoleto. Si raccomanda di passare al plugin caching_sha2_password, che utilizza l'algoritmo SHA2 per l'hashing invece di SHA1. Per ripristinare il supporto per mysql_native_password, è possibile utilizzare l'opzione «--mysql-native-password=ON» o la configurazione «mysql_native_password=ON».
  • È stato interrotto il supporto per protocolli e algoritmi di crittografia non sicuri. Sono rimasti solo TLS v1.2 e TLSv1.3, algoritmi che garantiscono la riservatezza di forward secrecy, cifrari e certificati con SHA2, e algoritmi AES in modalità GCM o AEAD.
  • Sono state rimosse le espressioni SQL correlate alla replica che erano precedentemente dichiarate obsolete a causa dell'uso di terminologia non corretta: START SLAVE (si dovrebbe usare START REPLICA); STOP SLAVE (si dovrebbe usare STOP REPLICA); SHOW SLAVE STATUS (si dovrebbe usare SHOW REPLICA STATUS); SHOW SLAVE HOSTS (SHOW REPLICAS); RESET SLAVE (RESET REPLICA); CHANGE MASTER TO (CHANGE REPLICATION SOURCE TO); RESET MASTER (RESET BINARY LOGS AND GTIDS); SHOW MASTER STATUS (SHOW BINARY LOG STATUS); PURGE MASTER LOGS (PURGE BINARY LOGS); SHOW MASTER LOGS (SHOW BINARY LOGS).
  • Rimosse le opzioni precedentemente dichiarate obsolete utilizzate nelle espressioni «CHANGE REPLICATION SOURCE TO» e «START REPLICA», e che utilizzavano la parola «master», sostituita con «source»: SOURCE_AUTO_POSITION (utilizzare SOURCE_AUTO_POSITION), SOURCE_HOST (utilizzare SOURCE_HOST), SOURCE_BIND (utilizzare SOURCE_BIND), SOURCE_USER (SOURCE_USER), SOURCE_PASSWORD (SOURCE_PASSWORD), SOURCE_PORT (SOURCE_PORT), SOURCE_CONNECT_RETRY (SOURCE_CONNECT_RETRY), SOURCE_RETRY_COUNT (SOURCE_RETRY_COUNT), SOURCE_DELAY (SOURCE_DELAY), SOURCE_SSL (SOURCE_SSL), SOURCE_SSL_CA (SOURCE_SSL_CA), SOURCE_SSL_CAPATH (SOURCE_SSL_CAPATH), SOURCE_SSL_CIPHER (SOURCE_SSL_CIPHER), SOURCE_SSL_CRL (SOURCE_SSL_CRL), SOURCE_SSL_CRLPATH (SOURCE_SSL_CRLPATH), SOURCE_SSL_KEY (SOURCE_SSL_KEY), SOURCE_SSL_VERIFY_SERVER_CERT (SOURCE_SSL_VERIFY_SERVER_CERT), SOURCE_TLS_VERSION (SOURCE_TLS_VERSION), SOURCE_TLS_CIPHERSUITES (SOURCE_TLS_CIPHERSUITES), SOURCE_SSL_CERT (SOURCE_SSL_CERT), SOURCE_PUBLIC_KEY_PATH (SOURCE_PUBLIC_KEY_PATH), GET_SOURCE_PUBLIC_KEY (GET_SOURCE_PUBLIC_KEY), SOURCE_HEARTBEAT_PERIOD (SOURCE_HEARTBEAT_PERIOD), SOURCE_COMPRESSION_ALGORITHMS (SOURCE_COMPRESSION_ALGORITHMS), SOURCE_ZSTD_COMPRESSION_LEVEL (SOURCE_ZSTD_COMPRESSION_LEVEL), SOURCE_LOG_FILE (SOURCE_LOG_FILE), SOURCE_LOG_POS (SOURCE_LOG_POS).
  • Rimossi i parametri di sistema che utilizzavano le parole «master» e «slave»: Com_replica_start (utilizzare Com_replica_start); Com_replica_stop (Com_replica_stop); Com_show_replica_status (Com_show_replica_status); Com_show_replicas (Com_show_replicas); Com_show_binary_log_status (Com_show_binary_log_status); e Com_change_replication_source (Com_change_replication_source).
  • Dichiarata obsoleta la variabile di sistema group_replication_allow_local_lower_version_join. Rimosse le opzioni precedentemente dichiarate obsolete «—no-dd-upgrade», «—old», «—new», «—language», «—ssl«, «—admin-ssl» e le variabili binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals e default_authentication_plugin.
  • Rimossa la tabella non utilizzata INFORMATION_SCHEMA.TABLESPACES.
  • Interrotta la supporto per l'uso del valore LOW_PRIORITY insieme all'espressione «LOCK TABLES … WRITE».
  • Interrotta la supporto per l'uso del modificatore AUTO_INCREMENT con i tipi FLOAT e DOUBLE.
  • Rimossa l'utility mysql_ssl_rsa_setup — durante la compilazione con OpenSSL. server MySQL può generare automaticamente i file SSL e RSA mancanti all'avvio.
  • Rimossa l'utility mysql_upgrade, che non è utilizzata con la versione MySQL 8.0.16.
  • Rimosse le utility mysqlpump, lz4_decompress e zlib_decompress, da utilizzare invece l'utility mysqldump o i comandi dump nell'interfaccia a riga di comando.
  • Rimossi i plugin: authentication_fido, authentication_fido_client (utilizzare authentication_webauthn); keyring_file (utilizzare component_keyring_file); keyring_encrypted_file (utilizzare component_keyring_encrypted_file); keyring_oci (utilizzare component_keyring_oci).
  • Il supporto per l'espressione ENGINE è stato interrotto insieme a varie opzioni di «DROP TABLESPACE» e «ALTER TABLESPACE».
  • È stata rimossa la privilegia «SET_USER_ID», che non può più essere specificata nelle espressioni GRANT.
  • Sono state ripristinate le funzioni API: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown() e mysql_ssl_set(), alcune delle quali sono state rielaborate utilizzando la funzione mysql_real_query(). Queste funzioni erano state rimosse nella versione MySQL 8.3, ma sono state ripristinate per supporto nella versione LTS di MySQL 8.4.
  • Sono state risolte 26 vulnerabilità che possono essere sfruttate da remoto. Il problema più grave ha un livello di pericolo di 6.5 ed è legato a una vulnerabilità in openSSL. Vulnerabilità meno pericolose coinvolgono l'ottimizzatore, InnoDB, Thread Pooling, il plugin Group Replication, il plugin Audit, DML, mysqldump.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster