Oracle heeft een nieuwe tak van de database MySQL 9.0.0 gevormd. De builds van MySQL Community Server 9.0.0 zijn voorbereid voor alle belangrijke Linux-distributies, FreeBSD, macOS en Windows. In het kader van het vorig jaar geĆÆntroduceerde release-modellering, is MySQL 9.0 geclassificeerd als een 'Innovation'-tak, waartoe ook de volgende significante releases MySQL 9.1 en 9.2 zullen behoren. Innovation-takken worden aanbevolen voor degenen die eerder toegang willen hebben tot nieuwe functionaliteit, worden elke 3 maanden gepubliceerd en alleen ondersteund totdat de volgende significante release is gepubliceerd (bijvoorbeeld na de release van de tak 9.1, zal de ondersteuning voor tak 9.0 worden stopgezet). Ongeveer een jaar later wordt een LTS-release verwacht, die wordt aanbevolen voor implementaties die voorspelbaarheid en langdurig onveranderd gedrag vereisen. Na de LTS-tak zal een nieuwe Innovation-tak worden gevormd ā MySQL 10.0.
Belangrijkste wijzigingen in MySQL 9.0:
- Bij het uitvoeren van de constructie 'EXPLAIN ANALYZE INTO' is het nu mogelijk om de uitvoer in JSON-indeling op te slaan in een gebruikersvariabele, die vervolgens kan worden gebruikt als argument in functies voor het werken met JSON.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Het is toegestaan om de instructies 'CREATE EVENT', 'ALTER EVENT' en 'DROP EVENT' te formatteren als parameterized queries binnen opgeslagen procedures. Het creƫren van een parameterized query gebeurt met de constructie PREPARE, en de uitvoering met de constructie 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;
EINDE - Twee nieuwe systeemtabellen zijn toegevoegd, die informatie bevatten over systeemvariabelen: variables_metadata - bevat informatie over de namen, scopes, types en waarde-ranges van alle ondersteunde systeemvariabelen van de MySQL-server; global_variable_attributes - bevat de waarden van de attributen ingesteld voor globale variabelen, zoals offline_mode en read_only.
- De eerder als verouderd verklaarde serverplugin mysql_native_password, die authenticatie met behulp van wachtwoorden mogelijk maakte, is verwijderd. In plaats van mysql_native_password wordt het aanbevolen over te stappen op de plugin caching_sha2_password, die SHA2 als hash-algoritme gebruikt in plaats van SHA1.
- Er zijn 15 variabelen toegevoegd voor het configureren en inspecteren van de MLE (Multilingual Engine Component), waarmee je in opgeslagen procedures en functies code kunt gebruiken in talen die anders zijn dan SQL.
Bron: opennet.ru
