Die Firma Oracle hat einen neuen Branch der MySQL-Datenbankversion 9.0.0 erstellt. Die Builds des MySQL Community Servers 9.0.0 sind fĂŒr alle gĂ€ngigen Linux-Distributionen, FreeBSD, macOS und Windows vorbereitet. Im Rahmen des im letzten Jahr eingefĂŒhrten Modells zur Erstellung von Releases wurde MySQL 9.0 den "Innovation"-Branches zugeordnet, zu denen auch die folgenden bedeutenden Releases MySQL 9.1 und 9.2 gehören werden. Innovation-Branches werden fĂŒr diejenigen empfohlen, die frĂŒhzeitig Zugang zu neuen Funktionen erhalten möchten. Sie werden alle 3 Monate veröffentlicht und nur bis zur Veröffentlichung des nĂ€chsten signifikanten Releases unterstĂŒtzt (z.B. wird nach dem Erscheinen des Branch 9.1 die UnterstĂŒtzung des Branch 9.0 eingestellt). Etwa ein Jahr spĂ€ter ist ein LTS-Release geplant, das fĂŒr Implementierungen empfohlen wird, die Vorhersehbarkeit und langfristige BestĂ€ndigkeit erfordern. Nach dem LTS-Branch wird ein neuer Innovation-Branch â MySQL 10.0 â erstellt.
HauptÀnderungen in MySQL 9.0:
- Bei der AusfĂŒhrung der Konstruktion "EXPLAIN ANALYZE INTO" wurde die Möglichkeit hinzugefĂŒgt, die Ausgabe im JSON-Format in eine benutzerdefinierte Variable zu speichern, die dann als Argument in Funktionen zur Arbeit mit JSON verwendet werden kann.
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
- Die Formulierung der AusdrĂŒcke "CREATE EVENT", "ALTER EVENT" und "DROP EVENT" ist als parametrisierte Abfragen innerhalb von gespeicherten Prozeduren erlaubt. Die Erstellung einer parametrisierten Abfrage erfolgt mit Hilfe des Ausdrucks PREPARE, und die AusfĂŒhrung mit dem Ausdruck 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 - Zwei neue Systemtabellen wurden hinzugefĂŒgt, die Informationen ĂŒber Systemvariablen enthalten: variables_metadata â enthĂ€lt Informationen zu Namen, GĂŒltigkeitsbereichen, Typen und Wertebereichen aller vom MySQL-Server unterstĂŒtzten Systemvariablen; global_variable_attributes â enthĂ€lt die Werte der Attribute, die fĂŒr globale Variablen wie offline_mode und read_only festgelegt wurden.
- Das zuvor als veraltet erklĂ€rte Server-Plugin mysql_native_password, das die Authentifizierung mit Passwörtern ermöglicht, wurde entfernt. Es wird empfohlen, anstelle von mysql_native_password das Plugin caching_sha2_password zu verwenden, das den Algorithmus SHA2 anstelle von SHA1 fĂŒr die Hash-Erstellung verwendet.
- 15 Variablen wurden zur Konfiguration und Inspektion der MLE (Multilingual Engine Component) hinzugefĂŒgt, die die Verwendung von Code in prozeduralen und funktionalen Abfragen ermöglicht, die nicht SQL sind.
Quelle: opennet.ru
