Oracle on julkaissut MySQL 9.2.0:n uuden haaran. MySQL Community Server 9.2.0 -versiot ovat saatavilla kaikille tärkeimmille Linux-jakeluille, FreeBSD:lle, macOS:lle ja Windowsille. Osana vuonna 2023 esiteltyä uutta julkaisumallia MySQL 9.2 on kohdistettu "Innovation"-haaroihin, jotka sisältävät myös seuraavan suuren julkaisun, MySQL 9.3:n. Innovaatiohaaroja suositellaan niille, jotka haluavat saada uusia toimintoja aikaisessa vaiheessa, julkaistaan 3 kuukauden välein ja niitä tuetaan vain seuraavaan suureen julkaisuun saakka (esimerkiksi 9.2-haaran julkaisun jälkeen tuki 9.1-haaralle lopetettiin). Kesällä on tarkoitus luoda LTS-julkaisu, jota suositellaan toteutuksille, jotka edellyttävät ennakoitavuutta ja pitkäjänteistä käyttäytymisen säilymistä muuttumattomana. LTS-haaran jälkeen muodostetaan uusi innovaatiohaara - MySQL 10.0.
Suuret muutokset MySQL 9.2:ssa:
- MLE (Multilingual Engine Component), joka sallii koodin käytön muilla kielillä kuin SQL:llä tallennetuissa proseduureissa ja funktioissa, on laajennettu tukemaan uudelleenkäytettäviä JavaScript-kirjastoja. Tällaisten kirjastojen funktioita voidaan kutsua tallennetuista JavaScript-proseduureista, mutta ne täytyy nimenomaisesti merkitä tuoduiksi käyttämällä "vienti"-avainsanaa. Uusia SQL-käskyjä "CREATE LIBRARY" ja "DROP LIBRARY" on lisätty hallitsemaan JavaScript-kirjastojen yhteyttä. Nähdäksesi luettelon käytettävissä olevista JavaScript-kirjastoista, "SHOW CREATE LIBRARY" -käsky on lisätty. Tietoja JavaScript-kirjastoista näkyy järjestelmätaulukossa "LIBRARIES" ja tallennetuista menettelyistä, jotka käyttävät tällaisia kirjastoja, taulukossa "ROUTINE_LIBRARIES". Kirjaston yhdistäminen tallennettuun proseduuriin tehdään määrittämällä kirjastojen luettelo "USING" -lausekkeessa.
- Lisätty API tallennettujen toimintojen, toimintojen ja istuntomuuttujien käyttämiseen JavaScript-koodista. GetFunction()-menetelmä on lisätty MySQL-funktioiden käyttämiseen, ja getProcedure()-menetelmä on lisätty tallennettuihin proseduureihin, jotka palauttavat JavaScript-funktioobjektin, joka voidaan suorittaa argumenteilla. Muuttujia käytetään suoraan Session JavaScript -objektin ominaisuuksina. Lisäksi on lisätty mahdollisuus käyttää suoraan sisäänrakennettuja funktioita rand(), sleep(), uuid() ja isUUID(), jotka ovat samanlaisia kuin samannimiset SQL-funktiot.
- Lisätty JavaScript-tapahtumasovellusliittymä, jonka avulla voit suorittaa useimmat tapahtumaan liittyvät SQL-käskyt, kuten START TRANSACTION, COMMIT, ROLLBACK ja SET AUTOCOMMIT.
- Lisätty mahdollisuus käyttää MySQL ENUM- ja SET-tyyppejä JavaScriptillä kirjoitettujen tallennettujen menettelyjen argumenteissa
- Lisätty CREATE_SPATIAL_REFERENCE_SYSTEM-käyttöoikeus, jota voidaan käyttää hallitsemaan kykyä luoda ja poistaa paikkaviittausmääritelmiä maantieteellisten tietojärjestelmien tiedoille. Tämä käyttöoikeus tai SUPER-oikeus tarvitaan nyt CREATE SPATIAL REFERENCE SYSTEM-, CREATE OR REPLACE SPATIAL REFERENCE SYSTEM- ja DROP SPATIAL REFERENCE SYSTEM -käskyjen suorittamiseen.
- Lisätty JSON-muodon versiotiedot "EXPLAIN FORMAT=JSON" -lähtöön. Määritä JSON-muotoinen versio käyttämällä selitys_json_format_version-muuttujaa ("SET magyarázat_json_format_version=1|2").
- Vanhentunut: "FLUSH PRIVILEGES" -lauseke, "mysqladmin flush-privileges"- ja "mysqladmin reload" -komennot, "version_tokens"-laajennus.
- BINLOG-avainsana on lopetettu.
- 32 haavoittuvuutta on korjattu, joista kolmea voidaan hyödyntää etänä. Kahden vakavimman ongelman vakavuusaste on 3, ja ne liittyvät Kerberos- ja Curl-komponenttien haavoittuvuuksiin. Vähemmän vakavat haavoittuvuudet vaikuttavat InnoDB:hen, Thread Poolingiin, DDL:ään, optimoijaan, jäsentimeen ja todennusjärjestelmään.
Lähde: opennet.ru
