Verze databázového systému MySQL 9.3.0

Společnost Oracle vytvořila novou větev databázového systému MySQL 9.3.0. Sestavení MySQL Community Server 9.3.0 jsou připravena pro všechny hlavní distribuce Linuxu, FreeBSD, macOS a Windows. V souladu s novým modelem vydávání verzí zavedeným v roce 2023 je MySQL 9.3 zařazeno do větve 'Innovation'. Inovační větve jsou doporučeny pro ty, kteří chtějí dříve přistupovat k nové funkcionalitě, vydávají se každé 3 měsíce a jsou podporovány pouze do vydání další významné verze (například po vydání větve 9.3 byla pozastavena podpora větve 9.2). V létě plánují vytvořit LTS-verzi 9.4, doporučenou pro implementace, které vyžadují předvídatelnost a dlouhodobé zachování stabilního chování. Po LTS-větvi bude vytvořena nová inovační větev — MySQL 10.0.

Hlavní změny v MySQL 9.3:

  • Do nástroje mysqldump byla přidána možnost '—users' pro vytváření logických dumpů s informacemi o všech uživatelských účtech, které jsou vyvedeny pomocí SQL příkazů 'CREATE USER' a 'GRANT'. Pro vložení příkazu 'DROP USER' před 'CREATE USER' je k dispozici možnost '—add-drop-user', a pro selektivní zobrazení v dumpu jednotlivých uživatelů – možnosti '—include-user=user@host' a '—exclude-user=user@host', které lze uvést několikrát.
  • V enginu MLE (Multilingual Engine Component), který umožňuje používat v uložených procedurách a funkcích kód v jiných jazycích než SQL, byla zlepšena podpora JavaScriptu. Pro uložené procedury v JavaScriptu byl implementován typ 'DECIMAL', který lze použít pro vstupní a vracené argumenty. Ve výchozím nastavení je pro bezpečnost typ DECIMAL MySQL převeden na typ 'String' JavaScriptu, ale toto chování lze předefinovat příkazem 'SELECT mle_set_session_state('{"decimal_type":"Number"}')', po kterém se použije typ 'Number' JavaScriptu. Podporuje se úprava typu DECIMAL pro hodnoty s typy JavaScriptu Boolean, Number, String a BigInt.
  • Do uložených procedur v JavaScriptu byla přidána podpora pro nastavení parametrů lokalizace pomocí JavaScript API Intl. Například pro určení aktuální lokality lze použít vlastnosti 'Intl.DateTimeFormat().resolvedOptions().locale', a pro předefinování lokality — metodu 'toLocaleString()'.
  • Byly rozšířeny možnosti pro správu knihoven JavaScriptu: pro změnu seznamu importovaných knihoven lze nyní používat výrazy „ALTER PROCEDURE“ a „ALTER FUNCTION“. Byla přidána možnost použít výraz „ALTER LIBRARY“ k přidání, odstranění nebo změně SQL komentáře k knihovně. Pro získání informací o knihovně bylo implementováno vyjádření „SHOW LIBRARY STATUS“.
  • Byla přidána podpora dynamického načítání JavaScript knihoven. Pro dynamický import knihovny je třeba použít klíčové slovo „await“, například „let module = await import(‘/db1/lib_${object_type}’)“.
  • Byly rozšířeny optimalizace dotazů, které používají kvantifikované srovnávací operátory. Kromě podpory operátorů „=ANY“ a „ALL“ při optimalizaci poddotazů byla v nové verzi přidána podpora operátorů „>ANY“, „>=ANY“, „<ANY“, „ALL“, „>=ALL“, „<ALL“ a „<=ALL“.
  • Byl odstraněn plugin „version_tokens“, který byl dříve označen jako zastaralý.
  • Bylo zakázáno nastavení hodnoty 0 v systémové proměnné replica_parallel_workers.
  • Bylo odstraněno 28 zranitelností, z nichž 26 může být zneužito na dálku při existenci přístupu k odeslání dotazů na DBMS. Šest nejzávažnějších problémů má úroveň nebezpečnosti 6.5 a je spojeno se zranitelnostmi v enginu InnoDB, parseru a optimalizátoru. Méně nebezpečné zranitelnosti se týkají mysqldump, InnoDB, optimalizátoru, DDL, UDF, parseru a systému replikace.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster