Oracle har bildat en ny gren av databasprogrammet MySQL 9.0. Byggversionerna av MySQL Community Server 9.0 har förberetts för alla större distributioner av Linux, FreeBSD, macOS och Windows. Inom ramen för den release-modell som infördes förra Äret, har MySQL 9.0 placerats i "Innovation"-grenarna, som Àven kommer att omfatta de kommande betydande versionerna MySQL 9.1 och 9.2. Innovation-grenarna rekommenderas för dem som vill fÄ tidig tillgÄng till ny funktionalitet, publiceras var tredje mÄnad och stöds bara tills nÀsta betydande version publiceras (till exempel kommer stödet för version 9.0 att upphöra efter att version 9.1 har slÀppts). Om ungefÀr ett Är planeras lanseringen av en LTS-version som rekommenderas för implementeringar som behöver förutsÀgbarhet och lÄngvarig bevarande av oförÀndrat beteende. Efter LTS-grenen kommer en ny Innovation-gren att skapas - MySQL 10.0.
Huvudsakliga Àndringar i MySQL 9.0:
- Vid utförandet av konstruktionen "EXPLAIN ANALYZE INTO" har möjligheten lagts till att spara utdata i JSON-format i en anvÀndardefinierad variabel, som sedan kan anvÀndas som argument i funktioner för att arbeta med JSON.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Det Àr nu tillÄtet att formulera uttrycken "CREATE EVENT", "ALTER EVENT" och "DROP EVENT" som parameteriserade frÄgor inom lagrade procedurer. Skapandet av en parameteriserad frÄga görs med hjÀlp av uttrycket PREPARE, och genomförandet sker med uttrycket EXECUTE.
CREATE PROCEDURE sp(n INT)
BEGIN
SET @s1 = "CREATE EVENT e ON SCHEDULE EVERY ";
SET @s2 = " SECOND"
STARTS CURRENT_TIMESTAMP + INTERVAL 10 SECOND
ENDS CURRENT_TIMESTAMP + INTERVAL 2 MINUTE
ON COMPLETION PRESERVE
DO
INSERT INTO d.t VALUES ROW(NULL, NOW(), FLOOR(RAND()*100))";SET @s = CONCAT(@s1, n, @s2);
PREPARE ps FROM @s;
EXECUTE ps;
DEALLOCATE PREPARE ps;
END - TvÄ nya systemtabeller har lagts till, som innehÄller information om systemvariabler: variables_metadata - innehÄller information om namn, omfattning, typer och vÀrdeintervall för alla systemvariabler som stöds av MySQL-servern; global_variable_attributes - innehÄller vÀrdena för attribut som stÀllts in för globala variabler, sÄsom offline_mode och read_only.
- Den tidigare deklarerade och avskrivna serverpluginen mysql_native_password, som tillhandahÄller autentisering med hjÀlp av lösenord, har tagits bort. IstÀllet för mysql_native_password rekommenderas det att gÄ över till att anvÀnda pluginen caching_sha2_password, som anvÀnder SHA2-algoritmen för hashing istÀllet för SHA1.
- 15 variabler har lagts till för att konfigurera och inspektera MLE (Multilingual Engine Component), vilket möjliggör anvÀndning av kod pÄ sprÄk som skiljer sig frÄn SQL i lagrade procedurer och funktioner.
KĂ€lla: opennet.ru
