Oracle on loonud uue MySQL 9.3.0 andmebaasi haru. MySQL Community Server 9.3.0 kogud on valmis kĂ”igi peamiste Linuxi, FreeBSD, macOS ja Windowsi distributsioonide jaoks. Vastavalt 2023. aastal rakendatud uuele vĂ€ljaande mudelile on MySQL 9.3 liigitatud âInnovatsiooniâ harudeks. Innovatsiooni harud on soovitatavad neile, kes soovivad enne uusi funktsioone, neid avaldatakse iga kolme kuu tagant ja toetatakse ainult jĂ€rgmise olulise vĂ€ljaande avaldamiseni (nĂ€iteks pĂ€rast 9.3 haru vĂ€ljaannet lĂ”petatakse 9.2 haru tugi). Suvel plaanitakse koostada LTS vĂ€ljaanne 9.4, mida soovitatakse rakendustele, mis vajavad prognoositavust ja pikaajalist muutumatut kĂ€itumist. PĂ€rast LTS haru loomist luuakse uus Innovatsiooni haru - MySQL 10.0.
Peamised muutused MySQL 9.3:
- Mysqldump utiliidile on lisatud valik ââusersâ, et luua loogilisi dump'e koos teabega kĂ”ikidest kontodest, mis vĂ€ljastatakse SQL-lause âCREATE USERâ ja âGRANTâ kaudu. âDROP USERâ lause lisamiseks enne âCREATE USERâ on ette nĂ€htud valik ââadd-drop-userâ, ja valikute ââinclude-user=user@hostâ ja ââexclude-user=user@hostâ kaudu saab valida, milliseid kasutajaid dumpis kajastada, mida saab mÀÀrata mitu korda.
- MLE (Multilingual Engine Component) mootori funktsiooni tĂ€iustatakse, et toetada JavaScripti kasutamist salvestatud protseduurides ja funktsioonides, millel on paranenud JavaScripti tugi. JavaScripti salvestatud protseduurides on rakendatud âDECIMALâ tĂŒĂŒp, mida saab kasutada sisend- ja tagastusargumentide jaoks. Turvalisuse tagamiseks muudetakse MySQL tĂŒĂŒp DECIMAL JavaScripti tĂŒĂŒbiks âStringâ, kuid seda kĂ€itumist saab ĂŒle kirjutada kĂ€suga âSELECT mle_set_session_state(â{âdecimal_typeâ:âNumberâ}â)â, mille jĂ€rel kasutatakse JavaScripti tĂŒĂŒpi âNumberâ. Toetatakse DECIMAL tĂŒĂŒbiks ĂŒleminekut vÀÀrtustele JavaScripti tĂŒĂŒpide Boolean, Number, String ja BigInt abil.
- JavaScriptis salvestatud protseduuridele on lisatud tugi lokaliseerimise parameetrite mÀÀramiseks, kasutades JavaScripti API-d Intl. NĂ€iteks praeguse lokaadi mÀÀramiseks saab kasutada omadusi âIntl.DateTimeFormat().resolvedOptions().localeâ, ja lokaadi ĂŒlekirjutamiseks - meetodit âtoLocaleString()â.
- JavaScript raamatukogude haldamise vĂ”imalused on laienenud: imporditud raamatukogude loendi muutmiseks saab nĂŒĂŒd kasutada vĂ€ljendeid âALTER PROCEDUREâ ja âALTER FUNCTIONâ. Lisatud on vĂ”imalus kasutada vĂ€ljendit âALTER LIBRARYâ, et lisada, eemaldada vĂ”i muuta SQL-kommentaari raamatukogu kohta. Raamatukogu teabe saamiseks on rakendatud vĂ€ljend âSHOW LIBRARY STATUSâ.
- DĂŒnaamilise JavaScript-raamatukogude laadimise tugi on lisatud. Raamatukogu dĂŒnaamiliseks impordiks tuleb kasutada mĂ€rksĂ”na âawaitâ, nĂ€iteks âlet module = await import(â/db1/lib_${object_type}â)â.
- Leitud on optimeerimise vĂ”imalusi pĂ€ringutele, mis kasutavad kvantifitseeritud vĂ”rdlusoperaatoreid. Lisaks tugi operaatoritele â=ANYâ ja âALLâ on uut versioonis lisatud tugi operaatoritele â>ANYâ, â>=ANYâ, â<ANYâ, âALLâ, â>=ALLâ, â<ALLâ ja â<=ALLâ.
- Plugin âversion_tokensâ on eemaldatud, mis oli eelnevalt kuulutatud vananenuks.
- SĂŒsteemi muutujale replica_parallel_workers ei ole lubatud seada vÀÀrtust 0.
- Leitud on 28 haavatavust, millest 26 vĂ”ivad olla kaugjĂ”hitud, kui on olemas juurdepÀÀs andmebaasiserverile. KĂ”ige tĂ”sisemad probleemid omavad ohu taset 6.5 ja on seotud InnoDB, parseri ja optimeerijaga. VĂ€hem ohtlikud haavatavused puudutavad mysqldump'i, InnoDB, optimeerijat, DDL-i, UDF-i, parserit ja replikatsioonisĂŒsteemi.
Allikas: opennet.ru
