Versione del DBMS MySQL 9.1.0

La società Oracle ha creato un nuovo ramo del DBMS MySQL 9.1.0. Le build di MySQL Community Server 9.1.0 sono state preparate per tutte le principali distribuzioni di Linux, FreeBSD, macOS e Windows. Nell'ambito del nuovo modello di rilascio introdotto lo scorso anno, MySQL 9.1 è stato assegnato ai rami "Innovation", a cui sarà affiancato il successivo rilascio significativo MySQL 9.2. I rami Innovation sono consigliati a chi vuole accedere in anticipo alle nuove funzionalità, vengono pubblicati ogni 3 mesi e sono supportati solo fino alla pubblicazione del successivo rilascio significativo (ad esempio, dopo il rilascio del ramo 9.1, il supporto per il ramo 9.0 è stato interrotto). La prossima estate è previsto il rilascio di una versione LTS, raccomandata per le implementazioni che necessitano di prevedibilità e di una lunga conservazione del comportamento invariato. Subito dopo il ramo LTS sarà creato un nuovo ramo Innovation - MySQL 10.0.

Principali novità in MySQL 9.1:

  • Nell'operazione "CREATE VIEW" è stata aggiunta il supporto per l'espressione "IF NOT EXISTS", che consente di creare una vista solo se non esiste già una vista con il nome specificato, evitando così di restituire un errore se la vista è già stata creata.
  • Interromposta il caricamento dei trigger durante l'esecuzione di operazioni di sola lettura. In precedenza, i trigger venivano caricati ad ogni accesso alla tabella, causando un consumo di memoria e un carico sulla CPU in situazioni in cui i trigger non venivano utilizzati (ad esempio, durante l'esecuzione di query SELECT). In MySQL 9.1, l'elaborazione e il caricamento dei trigger sono stati suddivisi in due fasi: lettura dei metadati sul trigger e analisi+esecuzione del trigger. I dati ottenuti nella prima fase vengono salvati una sola volta e poi condivisi tra diverse istanze del trigger. L'analisi e l'esecuzione del trigger avvengono solo per le espressioni che comportano modifiche ai dati. Inoltre, per ridurre il consumo di memoria, è stato effettuato un passaggio dall'allocazione statica di buffer per la gestione degli errori nei trigger all'allocazione dinamica della memoria secondo necessità.
  • Espanso l'output dell'operazione "EXPLAIN", che ora mostra informazioni sull'utilizzo della lettura a più intervalli (multi-range) e sull'implementazione della strategia del semijoin, in cui durante le operazioni JOIN vengono elaborate solo le righe di una tabella.
  • È garantita l'esecuzione atomica delle operazioni «CREATE DATABASE» e «DROP DATABASE» per proteggere da guasti in caso di chiusura anomala o di errori a livello del file system durante l'esecuzione di tali operazioni. Ad esempio, in passato, in caso di chiusura anomala, «CREATE DATABASE» poteva generare una struttura incompleta e non funzionante del repository del DB, richiedendo un intervento manuale per la pulizia.
  • Nelle procedure memorizzate scritte in JavaScript è supportato il tipo VECTOR. I dati di questo tipo possono ora essere trasferiti nei parametri di input e output.
  • È stata aggiunta la possibilità di autenticazione durante la connessione al DBMS utilizzando il protocollo OpenID Connect.
  • Sono state eliminate 27 vulnerabilità, di cui la più grave (CVE-2024-5535) ha ricevuto un livello critico di gravità (9,1 su 10). La vulnerabilità può essere sfruttata da remoto senza passare attraverso l'autenticazione. Il problema è causato dalla lettura di dati da un'area al di fuori del buffer allocato nella libreria OpenSSL e porta a chiusure anomale o perdite di contenuto della memoria nella risposta dopo la connessione con server utilizzando parametri del protocollo non corretti.

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