Публикация на СУБД MySQL 9.1.0

Компания Oracle създаде нов клон на СУБД MySQL 9.1.0. Версиите на MySQL Community Server 9.1.0 са подготвени за всички основни дистрибуции на Linux, FreeBSD, macOS и Windows. В рамките на новата модел за версии, въведен миналата година, MySQL 9.1 е част от клона "Innovation", към който ще се присъедини и следващият значителен релиз MySQL 9.2. Клоновете "Innovation" са препоръчителни за тези, които искат по-ранен достъп до нови функционалности, публикуват се на всеки 3 месеца и се поддържат само до публикуването на следващия значителен релиз (например, след появата на клон 9.1, поддръжката на клон 9.0 е спряна). През лятото на следващата година планират да създадат LTS релиз, препоръчан за внедряване, изискващо предсказуемост и дългосрочно запазване на неизменяемо поведение. След LTS клона ще бъде създаден нов клон на Innovation — MySQL 10.0.

Основни промени в MySQL 9.1:

  • В операцията "CREATE VIEW" е добавена поддръжка на израза "IF NOT EXISTS", позволяваща създаването на представление само ако представление с указаното име все още не съществува и да се избегне връщането на грешка, ако представлението вече е създадено.
  • Спирането на зареждането на тригери при изпълнение на операции, свързани само с четене. По-рано тригерите се зареждаха при всяко достъпване на таблицата, което водеше до разход на памет и натоварване на CPU в ситуации, когато тригерите не се използваха (например, при изпълнение на запитвания SELECT). В MySQL 9.1 обработката и зареждането на тригери са разделени на две фази: четене на метаданни за тригера и анализ + изпълнение на тригера. Данните, получени в първата фаза, се запазват веднъж и след това се споделят между различни инстанции на тригера. Анализът и изпълнението на тригера се извършват само за изрази, които водят до промяна на данните. Освен това, за намаляване на разхода на памет, вместо статично разпределение на буферите за обработка на грешки в тригерите е преминато към динамично разпределение на паметта при необходимост.
  • Разширен е изходът от операцията "EXPLAIN", в която сега се показват данни за използването на многодиапазонно четене (multi-range) и прилагането на стратегия полусъединение (semijoin), при която при операции JOIN се обработват редове само от една таблица.
  • Осигурено е атомарно изпълнение на операциите "CREATE DATABASE" и "DROP DATABASE" за защита от сривове в случай на неочаквано приключване или възникване на грешки на ниво файловата система по време на изпълнението на тези операции. Например, преди при неочаквано приключване "CREATE DATABASE" можеше да създаде непълна, неработеща структура на хранилището на БД, за почистването на която беше необходимо ръчно намесване.
  • В написаните на JavaScript храними процедури е осигурена поддръжка на типа VECTOR. Данните с посочения тип могат да се предават в входните и връщаните параметри.
  • Добавена е възможността за автентикация при свързване с СУБД с използване на протокола OpenID Connect.
  • Отстранени са 27 уязвимости, най-сериозната от които (CVE-2024-5535) е с критично ниво на опасност (9.1 от 10). Уязвимостта може да бъде експлоатирана отдалеч без преминаване на автентикация. Проблемът е причинен от четенето на данни извън определен буфер в библиотеката OpenSSL и води до аварийно прекратяване или изтичане на съдържание от паметта в отговора след свързването с сървъра. посочването на некоректни параметри на протокола.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster