Företaget Oracle har bildat en ny gren av databashanteringssystemet MySQL 9.3.0. Byggnationerna av MySQL Community Server 9.3.0 Ă€r förberedda för alla större distributioner av Linux, FreeBSD, macOS och Windows. I enlighet med den nya modell för releasehantering som infördes 2023, har MySQL 9.3 klassificerats som en "Innovation"-gren. Innovation-grenar rekommenderas för dem som vill fĂ„ tidigare tillgĂ„ng till nya funktioner, publiceras var tredje mĂ„nad och stöds endast fram till publiceringen av nĂ€sta större version (till exempel, efter att gren 9.3 har slĂ€ppts upphör stödet för gren 9.2). I sommar planeras en LTS-release (Long-Term Support) av version 9.4, rekommenderad för implementeringar som behöver förutsĂ€gbarhet och lĂ„ngsiktig bevarande av oförĂ€ndrat beteende. Efter LTS-grenen kommer en ny Innovation-gren att skapas â MySQL 10.0.
Viktiga förÀndringar i MySQL 9.3:
- Verktyget mysqldump har fĂ„tt en ny parameter "âusers" för att skapa logiska dumpningar med information om alla anvĂ€ndarkonton, som anges via SQL-uttrycken "CREATE USER" och "GRANT". För att infoga uttrycket "DROP USER" före "CREATE USER" finns det parametern "âadd-drop-user", och för att selektivt reflektera specifika anvĂ€ndare i dumpen â parametrarna "âinclude-user=user@host" och "âexclude-user=user@host", som kan anges flera gĂ„nger.
- I MLE (Multilingual Engine Component), som möjliggör anvÀndning av kod pÄ sprÄk som skiljer sig frÄn SQL i lagrade procedurer och funktioner, har stödet för JavaScript förbÀttrats. För lagrade procedurer pÄ JavaScript-sprÄket har typen "DECIMAL" implementerats, som kan anvÀndas för in- och utgÄende argument. Som standard omvandlas MySQL-typen DECIMAL till JavaScript-typen "String" för sÀkerhetens skull, men detta beteende kan ÄsidosÀttas med kommandot 'SELECT mle_set_session_state('{"decimal_type":"Number"}')', efter vilket JavaScript-typen "Number" kommer att anvÀndas. Det stöds typomvandling till DECIMAL för vÀrden med JavaScript-typerna Boolean, Number, String och BigInt.
- I lagrade procedurer pĂ„ JavaScript har stödet för instĂ€llning av lokaliseringsparametrar lagts till, med hjĂ€lp av JavaScript API Intl. Till exempel för att bestĂ€mma den aktuella lokaliteten kan man anvĂ€nda egenskapen "Intl.DateTimeFormat().resolvedOptions().locale", och för att Ă„sidosĂ€tta lokaliteten â metoden "toLocaleString()".
- Möjligheterna för hantering av JavaScript-bibliotek har utökats: för att Àndra listan över importerade bibliotek kan uttryck som «ALTER PROCEDURE» och «ALTER FUNCTION» nu anvÀndas. Möjligheten att anvÀnda uttrycket «ALTER LIBRARY» för att lÀgga till, ta bort eller Àndra en SQL-kommentar till biblioteket har lagts till. För att fÄ information om biblioteket har uttrycket «SHOW LIBRARY STATUS» implementerats.
- Stödet för dynamisk laddning av JavaScript-bibliotek har lagts till. För dynamisk import av ett bibliotek bör nyckelordet «await» anvĂ€ndas, exempelvis «let module = await import(â/db1/lib_${object_type}â)».
- Optimeringarna för frÄgor som anvÀnder kvantifierade jÀmförelseoperatörer har utökats. Förutom stödet för operatorerna «=ANY» och «ALL» har stöd för operatorerna «>ANY», «>=ANY», «<ANY», «ALL», «>=ALL», «<ALL» och «<=ALL» lagts till vid optimering av undertagningar i den nya versionen.
- Plugin-programmet «version_tokens», som tidigare deklarerats som förÄldrat, har tagits bort.
- Det Àr inte tillÄtet att sÀtta vÀrdet 0 i systemvariabeln replica_parallel_workers.
- 28 sÄrbarheter har ÄtgÀrdats, varav 26 kan utnyttjas pÄ distans med Ätkomst för att skicka förfrÄgningar till databashanteraren. De sex mest allvarliga problemen har en sÀkerhetsnivÄ pÄ 6.5 och Àr relaterade till sÄrbarheter i InnoDB-motorn, parsaren och optimeraren. Mindre farliga sÄrbarheter berör mysqldump, InnoDB, optimeraren, DDL, UDF, parsaren och replikationssystemet.
KĂ€lla: opennet.ru
