A MySQL DBMS 9.1.0 kiadása

Az Oracle létrehozta a MySQL 9.1.0 DBMS új ágát. A MySQL Community Server 9.1.0 buildjei minden nagyobb Linux, FreeBSD, macOS és Windows disztribúcióhoz készültek. A tavaly bemutatott új kiadási modell részeként a MySQL 9.1 az „Innováció” ágba sorolható, amelybe a következő jelentős kiadás, a MySQL 9.2 is beletartozik. Az innovációs ágakat azoknak ajánljuk, akik korai hozzáférést szeretnének az új funkciókhoz, 3 havonta jelennek meg, és csak a következő jelentős kiadás megjelenéséig támogatottak (például a 9.1-es ág megjelenése után a 9.0-s ág támogatása megszűnt ). Jövő nyáron tervezik egy LTS kiadás létrehozását, amelyet olyan implementációkhoz ajánlanak, amelyek megkövetelik a kiszámíthatóságot és a változatlan viselkedés hosszú távú megőrzését. Az LTS ágat követően egy új Innovációs ág jön létre - a MySQL 10.0.

Főbb változások a MySQL 9.1-ben:

  • A „NÉZET LÉTREHOZÁSA” művelethez hozzáadtuk az „IF NOT EXISTS” kifejezés támogatását, amely csak akkor teszi lehetővé a nézet létrehozásának megszervezését, ha a megadott nevű nézet még nem létezik, és elkerülheti a hiba visszaadását, ha a nézet már létrejött.
  • A triggerek betöltése leállt, amikor csak olvasható műveleteket hajt végre. Korábban a triggerek betöltésre kerültek, amikor egy táblához hozzáfértek, ami memóriapazarlást és CPU-terhelést eredményezett olyan helyzetekben, amikor nem használtak triggereket (például SELECT lekérdezések végrehajtásakor). A MySQL 9.1-ben a triggerek feldolgozása és betöltése két szakaszra oszlik: a triggerrel kapcsolatos metaadatok beolvasása és a trigger elemzése + végrehajtása. Az első szakaszban kapott adatokat egyszer tárolja, majd megosztja a különböző trigger-példányok között. Az eseményindító csak olyan kifejezések esetén kerül elemzésre és végrehajtásra, amelyek módosítják az adatokat. Ezenkívül a memóriafelhasználás csökkentése érdekében a triggerekben a hibakezeléshez pufferek statikus lefoglalása helyett szükség szerint dinamikus memóriafoglalásra váltottunk.
  • Az EXPLAIN művelet kimenete kibővült, hogy információkat jelenítsen meg a több tartományú olvasás használatáról és a félig összekapcsolási stratégia használatáról, amelyben a JOIN műveletek csak egy tábla sorait dolgozzák fel.
  • Az „ADATBÁZIS LÉTREHOZÁSA” és „DROP DATABASE” műveletek atomi végrehajtása a műveletek végrehajtása során fellépő összeomlás vagy fájlrendszer szintű hibák elleni védelem érdekében. Például korábban, amikor az „ADATBÁZIS LÉTREHOZÁSA” összeomlott, egy hiányos, nem működő adatbázis-tárolási struktúra jöhetett létre, amely kézi beavatkozást igényelt a tisztításhoz.
  • A JavaScriptben írt tárolt eljárások támogatják a VECTOR típust. A megadott típusú adatok mostantól a bemeneti és visszatérési paraméterekben is átadhatók.
  • Hozzáadtuk a hitelesítési lehetőséget, amikor az OpenID Connect protokoll használatával DBMS-hez csatlakozunk.
  • Huszonhét sebezhetőséget javítottak, amelyek közül a legsúlyosabb (CVE-2024-5535) kritikus súlyossági szintet kapott (9.1 a 10-ből). A sebezhetőség távolról, hitelesítés nélkül is kihasználható. A problémát az OpenSSL könyvtárban lévő határértéken kívüli olvasás okozza, és a csatlakozás után a rendszer összeomlásához vagy memóriaszivárgáshoz vezet a válaszban. szerver helytelen protokollparaméterek jelzésével.

Forrás: opennet.ru

Hozzászólás