Rilascio del DBMS MySQL 9.3.0

L'azienda Oracle ha creato un nuovo ramo del database MySQL 9.3.0. Le build di MySQL Community Server 9.3.0 sono state preparate per tutte le principali distribuzioni di Linux, FreeBSD, macOS e Windows. Secondo il nuovo modello di rilascio implementato nel 2023, MySQL 9.3 è stato classificato come ramo «Innovation». I rami Innovation sono raccomandati per coloro che desiderano accedere in anticipo a nuove funzionalità, vengono pubblicati ogni 3 mesi e sono supportati solo fino alla pubblicazione del successivo rilascio significativo (ad esempio, dopo l’arrivo del ramo 9.3, il supporto per il ramo 9.2 cessa). In estate è prevista la creazione di un rilascio LTS 9.4, raccomandato per le implementazioni che necessitano di prevedibilità e di un comportamento invariato nel tempo. Dopo il ramo LTS, verrà creato un nuovo ramo Innovation: MySQL 10.0.

Le principali modifiche in MySQL 9.3:

  • Nell’utilità mysqldump è stata aggiunta l'opzione «—users» per la creazione di dump logici con informazioni su tutti gli account, mostrate tramite le espressioni SQL «CREATE USER» e «GRANT». Per inserire l'espressione «DROP USER» prima di «CREATE USER» è disponibile l'opzione «—add-drop-user», mentre per riflettere selettivamente nel dump utenti specifici ci sono le opzioni «—include-user=user@host» e «—exclude-user=user@host», che possono essere specificate più volte.
  • Nel motore MLE (Multilingual Engine Component), che consente di utilizzare nelle procedure memorizzate e nelle funzioni codice in linguaggi diversi da SQL, è stata migliorata la supporto per JavaScript. Per le procedure memorizzate in JavaScript è stato implementato il tipo «DECIMAL», che può essere utilizzato per argomenti di input e output. Per motivi di sicurezza, per impostazione predefinita il tipo MySQL DECIMAL viene convertito nel tipo JavaScript «String», ma questo comportamento può essere sovrascritto con il comando ‘SELECT mle_set_session_state(‘{«decimal_type»:»Number»}’)’, dopo il quale verrà utilizzato il tipo JavaScript «Number». È supportato il casting a tipo DECIMAL di valori con tipi JavaScript Boolean, Number, String e BigInt.
  • Nelle procedure memorizzate in JavaScript è stata aggiunta la supporto per la definizione dei parametri di localizzazione, utilizzando l'API JavaScript Intl. Ad esempio, per determinare la locale corrente è possibile utilizzare le proprietà «Intl.DateTimeFormat().resolvedOptions().locale», mentre per sovrascrivere la locale si utilizza il metodo «toLocaleString()}».
  • Sono state ampliate le possibilità di gestione delle librerie JavaScript: ora è possibile utilizzare le espressioni «ALTER PROCEDURE» e «ALTER FUNCTION» per modificare l'elenco delle librerie importate. È stata aggiunta la funzionalità di utilizzare l'espressione «ALTER LIBRARY» per aggiungere, rimuovere o modificare un commento SQL per la libreria. È stata implementata l'espressione «SHOW LIBRARY STATUS» per ottenere informazioni sulla libreria.
  • È stata aggiunta la compatibilità per il caricamento dinamico delle librerie JavaScript. Per importare dinamicamente una libreria, utilizzare la parola chiave «await», ad esempio «let module = await import(‘/db1/lib_${object_type}’)».
  • Sono state ampliate le ottimizzazioni delle query che utilizzano operatori di confronto quantificati. Oltre al supporto per gli operatori «=ANY» e «ALL», nella nuova versione è stato aggiunto il supporto per gli operatori «>ANY», «>=ANY», «<ANY», «ALL», «>=ALL», «<ALL» e «<=ALL» per l'ottimizzazione delle sottoquery.
  • Il plugin «version_tokens» è stato rimosso, precedentemente dichiarato obsoleto.
  • È vietato impostare il valore 0 nella variabile di sistema replica_parallel_workers.
  • Sono state corrette 28 vulnerabilità, di cui 26 possono essere sfruttate da remoto se si ha accesso per inviare richieste al DBMS. Sei dei problemi più gravi hanno un livello di gravità di 6.5 e sono correlati a vulnerabilità nel motore InnoDB, nel parser e nell'ottimizzatore. Le vulnerabilità meno gravi riguardano mysqldump, InnoDB, l'ottimizzatore, DDL, UDF, il parser e il sistema di replica.

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