Oracle har skapat en ny branch av databashanteraren MySQL 9.1.0. Byggnader av MySQL Community Server 9.1.0 Ă€r förberedda för alla stora distributioner av Linux, FreeBSD, macOS och Windows. Inom ramen för den nya release-modellen som introducerades förra Ă„ret, tillhör MySQL 9.1 grenarna "Innovation", dĂ€r Ă€ven nĂ€sta stora release av MySQL 9.2 kommer att ingĂ„. Innovation-grenar rekommenderas för dem som vill ha tidig tillgĂ„ng till nya funktioner, publiceras var tredje mĂ„nad och stöds endast till publiceringen av nĂ€sta stora release (till exempel, efter lanseringen av grenen 9.1 upphör stödet för grenen 9.0). Under nĂ€sta sommar planeras en LTS-release som rekommenderas för implementationer som behöver förutsĂ€gbarhet och lĂ„ngvarigt oförĂ€ndrat beteende. Efter LTS-grenen kommer en ny Innovation-gren att bildas â MySQL 10.0.
Huvudsakliga Àndringar i MySQL 9.1:
- I operationen "CREATE VIEW" har stöd för uttrycket "IF NOT EXISTS" lagts till, vilket möjliggör skapandet av en vy endast om en vy med det angivna namnet inte redan finns och förhindrar att ett felmeddelande returneras om vyn redan har skapats.
- InlÀsning av triggrar har avbrutits vid utförande av operationer som endast handlar om lÀsning. Tidigare laddades triggrar vid varje access till tabellen, vilket ledde till minnesanvÀndning och belastning pÄ CPU:n i situationer dÀr triggrarna inte anvÀndes (till exempel vid utförande av SELECT-frÄgor). I MySQL 9.1 har hanteringen och inlÀsningen av triggrar delats upp i tvÄ faser: lÀsning av metadata om triggarna och analys + utförande av triggen. Data som erhÄlls under den första fasen lagras en gÄng och anvÀnds gemensamt i olika instanser av triggen. Analys och utförande av triggen görs endast för uttryck som leder till datamodifieringar. Dessutom, för att minska minnesanvÀndningen, har en övergÄng frÄn statisk allokering av buffertar för felhantering i triggarna till dynamisk minnesallokering efter behov genomförts.
- Utmatningen av operationen "EXPLAIN" har utvidgats, dÀr information om anvÀndning av multi-range lÀsning och tillÀmpning av semijoin-strategin nu visas, dÀr rader frÄn endast en tabell behandlas vid JOIN-operationer.
- AtomÀr körning av operationerna "CREATE DATABASE" och "DROP DATABASE" har sÀkerstÀllts för att skydda mot krascher i hÀndelse av ett plötsligt avslutande eller om det uppstÄr fel pÄ filsystemsnivÄ under dessa operationer. Tidigare kunde en ofullstÀndig och icke-fungerande struktur för databaslagring skapas vid ett plötsligt avslutande av "CREATE DATABASE", vilket krÀvde manuellt ingripande för att rensa.
- I de JavaScript-baserade lagrade procedurerna har stöd för datatypen VECTOR införts. Data med den angivna typen kan nu överföras i ingÄende och ÄterlÀmnade parametrar.
- Det har lagts till möjlighet för autentisering vid anslutning till databasens hanteringssystem med hjÀlp av OpenID Connect-protokollet.
- 27 sÄrbarheter har ÄtgÀrdats, av vilka den allvarligaste (CVE-2024-5535) har tilldelats en kritisk fara (9.1 av 10). SÄrbarheten kan utnyttjas pÄ distans utan autentisering. Problemet orsakas av lÀsning av data utanför det tilldelade bufferten i OpenSSL-biblioteket och leder till plötsligt avslutande eller lÀckage av innehÄll i minnet som svar efter anslutning med servern anvÀndning av ogiltiga protokollparametrar.
KĂ€lla: opennet.ru
