Oracle on loonud uue MySQL 8.2 andmebaasi haru ning avalikustanud MySQL 8.0.35 ja 5.7.44 paranduste vormid. MySQL Community Server 8.2.0 on valmistatud ette kõigile peamistele Linuxi, FreeBSD, macOS ja Windowsi distributsioonidele.
MySQL 8.2.0 on teine versioon, mis on toodetud uue versioonide loomise mudeli raames, mis näeb ette kahe tüüpi MySQL harud - «Innovatsioon» ja «LTS». Innovatsiooni harud, kuhu kuuluvad MySQL 8.1 ja 8.2, on soovitatavad neile, kes soovivad varakult juurde pääseda uutele funktsionaalsustele. Need harud avaldatakse iga 3 kuu järel ja neid toetatakse ainult kuni järgmise olulise versiooni avaldamiseni (näiteks pärast 8.2 haru ilmumist lakkab 8.1 haru toetamine). LTS-harud on soovitatavad rakenduste jaoks, mis vajavad ennustatavust ja pikaajalist muutumatut käitumist. LTS-harusid avaldatakse iga kahe aasta järel ja neid toetatakse regulaarrežiimis 5 aastat, millele lisandub veel 3 aastat pikendatud tuge. Kevadel 2024 oodata LTS-väljaandmist MySQL 8.4, pärast mida luuakse uus Innovatsiooni haru 9.0.
Peamised muudatused MySQL 8.2:
- Lisatud on Webauthni (FIDO2) spetsifikatsioonil põhineva autentimise mehhanismi tugi, mis võimaldab rakendada mitme faktori autentimist ja kinnitada ühendust MySQL ilma paroolideta, kasutades FIDO2 toega riistvaralisi tokeneid või biomeetrilist autentimist. Webauthni toega plugin on praegu saadaval ainult MySQL Enterprise'ile. serverile MySQL ilma paroolideta, kasutades FIDO2 toetavaid riistvaralisi tokene või biometrilist autentimist. Webauthn toetav plugin on praeguseks saadaval ainult MySQL Enterprise'i jaoks.
- Serveri plugin mysql_native_password, mis võimaldab autentimist paroolide abil, on liigitatud valikuliste alla ja seda võib välja lülitada. Soovitatav on liikuda üle pluginile caching_sha2_password, mis kasutab SHA2 algoritmi häälestamiseks SHA1 asemel. Kasutajate üleviimiseks pluginile caching_sha2_password koos parooli juhuslikuga vahetamisega saab kasutada käsku: ALTER USER ‘username’@’localhost’ IDENTIFIED WITH caching_sha2_password BY RANDOM PASSWORD PASSWORD EXPIRE FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 2;
- Optimeeritud on ripp-kreemi tabelid, võimaldades kiirendada EXCEPT ja INTERSECT operatsioonide täitmist.
- Veadadegu parandamiseks on laiendatud silumisvõimalusi. Operatsioonidele SELECT, INSERT, REPLACE, UPDATE ja DELETE on lisatud toetus väljendile «EXPLAIN FORMAT=JSON», et luua diagnostilisi väljundeid JSON formaadis (näiteks «EXPLAIN FORMAT=JSON INTO @var select_stmt;»).
- Lisatud on väljend «EXPLAIN FOR SCHEMA», et väljund oleks seotud ainult teatud andmeskeemiga.
- Tööriista mysqldump on lisatud valik «—output-as-version», et luua ülevaateid, mis on ühilduvad teatud vana MySQL versiooniga (nt saab määrata BEFORE_8_2_0 või BEFORE_8_0_23, et tagastada poliitiliselt ebaõige terminoloogia master/slave, mis kuulutati peatuks 8.2.0 ja 8.0.23 väljaannetes).
- Kliendi C-keskkonna teeki on lisatud võimalus kasutada nimetatud atribuute parametriseeritud päringutes (prepared statement), mille rakendamiseks on kasutusele võetud uus funktsioon mysql_stmt_bind_named_param(), mis asendab funktsiooni mysql_stmt_bind_param().
- SQL-liikluse jaotamine MySQL-serverite klastris on lihtsustatud. Pakutakse võimalusi rakendustele läbipaistvate ühenduste loomiseks sekundaarsete või primaarsete serveritega.
- Lisatud on uus privileeg SET_ANY_DEFINER, mis annab õiguse luua objekte väljendiga DEFINER, samuti privileeg ALLOW_NONEXISTENT_DEFINER, et kaitsta objekte ilma omaniku määratlemiseta.
- Vanaks kuulutati järgmised: vanad ja uued muutujad, maskid «%» ja «_» andmebaasi juurdepääsu seadetes, valik «—character-set-client-handshake», muutuja binlog_transaction_dependency_tracking ja privileeg SET_USER_ID.
- Seoses poliitiliselt ebaõige terminoloogia parandamisega, mis on seotud replikatsiooniga, kuulutati vanaks järgmised väljendid: «RESET MASTER», «SHOW MASTER STATUS», «SHOW MASTER LOGS» ja «PURGE MASTER LOGS», millega tuleks asendada väljenditega «RESET BINARY LOGS AND GTIDS», «SHOW BINARY LOG STATUS», «SHOW BINARY LOGS» ja «PURGE BINARY LOGS».
- Eemaldatud on võimalused, mis olid varem kuulutatud vanaks: funktsioon WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), muutuja expire_logs_days, valikud «—abort-slave-event-count» ja «—disconnect-slave-event-count».
- Parandatud on 26 haavatavust. Kaks haavatavust, mis on seotud Curl paketi ja OpenSSL teegi kasutamisega, võivad olla kaugelt ärakasutatavad.
Allikas: opennet.ru
