Oracle har dannet en ny gren af databasesystemet MySQL 9.0. Bygningerne af MySQL Community Server 9.0 er forberedt til alle de vigtigste distributioner af Linux, FreeBSD, macOS og Windows. Inden for den model for udgivelse, der blev indført sidste år, er MySQL 9.0 klassificeret som en "Innovation" gren, hvortil også de efterfølgende betydelige udgivelser MySQL 9.1 og 9.2 vil blive henført. Innovation-grene anbefales til dem, der ønsker tidligt at få adgang til nye funktioner, publiceres hver tredje måned og understøttes kun indtil publiceringen af den næste betydelige udgivelse (for eksempel vil understøttelsen af gren 9.0 stoppe efter ankomsten af gren 9.1). Omtrent et år senere er der planer om at danne en LTS-udgivelse, som anbefales til implementeringer, der har brug for forudsigelighed og en langvarig uændret adfærd. Efter LTS-grenen vil en ny Innovation-gren — MySQL 10.0 — blive dannet.
Vigtige ændringer i MySQL 9.0:
- Når man udfører konstruktionen "EXPLAIN ANALYZE INTO", er det blevet muligt at gemme output i JSON-format i en brugerdefineret variabel, som derefter kan bruges som argument i funktioner, der arbejder med JSON.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Det er tilladt at udforme udtryk "CREATE EVENT", "ALTER EVENT" og "DROP EVENT" som parametre, der indsendes inden for stored procedures. Oprettelsen af et parameteret forespørgsel sker ved hjælp af udtrykket PREPARE, og udførelsen — ved hjælp af udtrykket 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 - To nye systemtabeller er blevet tilføjet, som indeholder oplysninger om systemvariabler: variables_metadata — indeholder information om navne, omfang, typer og værdier af alle de understøttede systemvariabler af MySQL-serveren; global_variable_attributes — indeholder værdier for attributterne, der er angivet for globale variabler, såsom offline_mode og read_only.
- Den tidligere erklærede, forældede serverplugin mysql_native_password, der muliggør authentication ved hjælp af adgangskoder, er blevet fjernet. I stedet for mysql_native_password anbefales det at skifte til plugin caching_sha2_password, som bruger SHA2-algoritmen i stedet for SHA1 til hashing.
- 15 variabler er tilføjet til konfiguration og inspektion af MLE (Multilingual Engine Component), hvilket muliggør brug af kode på sprog, der adskiller sig fra SQL, i gemte procedurer og funktioner.
Kilde: opennet.ru
