Oracle ir izveidojis jaunu MySQL 9.1.0 DBVS atzaru. MySQL Community Server 9.1.0 versijas ir sagatavotas visiem lielÄkajiem Linux, FreeBSD, macOS un Windows izplatÄ«jumiem. KÄ daļa no jaunÄ izlaiduma modeļa, kas tika ieviests pagÄjuÅ”ajÄ gadÄ, MySQL 9.1 ir klasificÄts kÄ āInovÄcijasā nozare, kurÄ bÅ«s iekļauts arÄ« nÄkamais lielÄkais laidiens MySQL 9.2. InovÄciju zari ir ieteicami tiem, kas vÄlas agrÄ«nu piekļuvi jaunai funkcionalitÄtei, tiek publicÄti ik pÄc 3 mÄneÅ”iem un tiek atbalstÄ«ti tikai lÄ«dz nÄkamÄ nozÄ«mÄ«gÄ laidiena publicÄÅ”anai (piemÄram, pÄc 9.1 filiÄles parÄdīŔanÄs tika pÄrtraukts atbalsts 9.0 filiÄlei ). NÄkamajÄ vasarÄ viÅi plÄno izveidot LTS versiju, kas ieteicama ievieÅ”anai, kas prasa paredzamÄ«bu un ilgstoÅ”u nemainÄ«gas uzvedÄ«bas saglabÄÅ”anu. PÄc LTS filiÄles tiks veidota jauna InovÄciju filiÄle - MySQL 10.0.
GalvenÄs MySQL 9.1 izmaiÅas:
- OperÄcijai āCREATE VIEWā ir pievienots atbalsts izteiksmei āIF NOT EXISTSā, kas ļauj organizÄt skata izveidi tikai tad, ja skats ar norÄdÄ«to nosaukumu jau nepastÄv un izvairÄ«ties no kļūdas atgrieÅ”anas, ja skats jau ir izveidots.
- Tika pÄrtraukta aktivizÄtÄju ielÄde, veicot tikai lasÄmas darbÄ«bas. IepriekÅ” trigeri tika ielÄdÄti ikreiz, kad tika piekļūts tabulai, tÄdÄjÄdi iztÄrÄjot atmiÅu un radot CPU slodzi situÄcijÄs, kad trigeri netika izmantoti (piemÄram, izpildot SELECT vaicÄjumus). ProgrammÄ MySQL 9.1 trigeru apstrÄde un ielÄde ir sadalÄ«ta divos posmos: metadatu nolasīŔana par trigeri un parsÄÅ”ana + trigera izpilde. PirmajÄ posmÄ iegÅ«tie dati tiek glabÄti vienreiz un pÄc tam tiek kopÄ«goti dažÄdos trigera gadÄ«jumos. Trigeris tiek parsÄts un izpildÄ«ts tikai izteiksmÄm, kas maina datus. TurklÄt, lai samazinÄtu atmiÅas patÄriÅu, tÄ vietÄ, lai statiski pieŔķirtu buferus kļūdu apstrÄdei trigeros, mÄs pÄc vajadzÄ«bas pÄrgÄjÄm uz dinamisko atmiÅas pieŔķirÅ”anu.
- OperÄcijas EXPLAIN izvade ir paplaÅ”inÄta, lai parÄdÄ«tu informÄciju par vairÄku diapazonu nolasÄ«jumu izmantoÅ”anu un semijoin stratÄÄ£ijas izmantoÅ”anu, kurÄ JOIN operÄcijas apstrÄdÄ rindas tikai no vienas tabulas.
- OperÄciju āCREATE DATABASEā un āDROP DATABASEā atomu izpilde tiek nodroÅ”inÄta, lai aizsargÄtu pret kļūmÄm avÄrijas vai kļūdu gadÄ«jumÄ failu sistÄmas lÄ«menÄ« Å”o darbÄ«bu izpildes laikÄ. PiemÄram, iepriekÅ”, kad āCREATE DATABASEā avarÄja, varÄja tikt izveidota nepilnÄ«ga nestrÄdÄjoÅ”a datu bÄzes krÄtuves struktÅ«ra, kuras tÄ«rīŔanai bija nepiecieÅ”ama manuÄla iejaukÅ”anÄs.
- SaglabÄtÄs procedÅ«ras, kas rakstÄ«tas JavaScript, nodroÅ”ina atbalstu VECTOR tipam. Datus ar norÄdÄ«to tipu tagad var nodot ievades un atgrieÅ”anas parametros.
- Pievienota iespÄja autentificÄties, pieslÄdzoties DBVS, izmantojot OpenID Connect protokolu.
- Ir novÄrstas divdesmit septiÅas ievainojamÄ«bas, no kurÄm visnopietnÄkajai (CVE-2024-5535) ir pieŔķirts kritisks nopietnÄ«bas lÄ«menis (9.1 no 10). IevainojamÄ«bu var izmantot attÄlinÄti bez autentifikÄcijas. ProblÄmu izraisa Ärpus robežÄm nolasÄ«ts teksts OpenSSL bibliotÄkÄ, un tÄ izraisa avÄriju vai atmiÅas noplÅ«di atbildÄ pÄc savienojuma izveides ar serveris ar norÄdi uz nepareiziem protokola parametriem.
Avots: opennet.ru
