Die Datenbank MySQL 8.2.0 ist verfĂŒgbar.

Das Unternehmen Oracle hat einen neuen Branch der Datenbank MySQL 8.2 erstellt und die Korrekturupdates MySQL 8.0.35 und 5.7.44 veröffentlicht. Die Builds des MySQL Community Server 8.2.0 sind fĂŒr alle gĂ€ngigen Linux-Distributionen, FreeBSD, macOS und Windows vorbereitet.

MySQL 8.2.0 ist die zweite Version, die im Rahmen des neuen Veröffentlichungsmodells erstellt wurde, das zwei Arten von MySQL-Branches – "Innovation" und "LTS" – vorsieht. Die Innovation-Branches, zu denen MySQL 8.1 und 8.2 gehören, sind fĂŒr diejenigen empfohlen, die frĂŒhzeitig Zugang zu neuen Funktionen haben möchten. Diese Branches werden alle 3 Monate veröffentlicht und nur bis zur Veröffentlichung des nĂ€chsten bedeutenden Releases (z. B. wird die UnterstĂŒtzung fĂŒr Branch 8.1 nach dem Erscheinen von Branch 8.2 eingestellt) unterstĂŒtzt. LTS-Branches sind fĂŒr Implementierungen empfohlen, die Vorhersehbarkeit und eine langfristige Beibehaltung des unverĂ€nderten Verhaltens benötigen. LTS-Branches werden alle zwei Jahre veröffentlicht und 5 Jahre lang standardmĂ€ĂŸig unterstĂŒtzt, wobei zusĂ€tzlich 3 Jahre erweiterte UnterstĂŒtzung verfĂŒgbar sind. Im FrĂŒhjahr 2024 wird das LTS-Release von MySQL 8.4 erwartet, nach dem ein neuer Innovation-Branch 9.0 gebildet wird.

Die wichtigsten Änderungen in MySQL 8.2:

  • UnterstĂŒtzung des Authentifizierungsmechanismus basierend auf der Webauthn-Spezifikation (FIDO2) hinzugefĂŒgt, der die Anwendung von Multi-Faktor-Authentifizierung ermöglicht und eine Verbindung zu zu einem Server MySQL ohne Passwörter erlaubt, indem Hardware-Tokens mit FIDO2-UnterstĂŒtzung oder biometrische Authentifizierung verwendet werden. Das Plugin mit Webauthn-UnterstĂŒtzung ist derzeit nur fĂŒr MySQL Enterprise verfĂŒgbar.
  • Das Server-Plugin mysql_native_password, das die Authentifizierung mit Passwörtern ermöglicht, wurde in die Kategorie optional verschoben und kann deaktiviert werden. Statt mysql_native_password wird empfohlen, das Plugin caching_sha2_password zu verwenden, das zum Hashen den Algorithmus SHA2 anstelle von SHA1 einsetzt. Um Benutzer auf das Plugin caching_sha2_password mit zufĂ€lligem Passwort zu wechseln, kann der folgende Befehl verwendet werden: ALTER USER ‘username’@’localhost’ IDENTIFIED WITH caching_sha2_password BY RANDOM PASSWORD PASSWORD EXPIRE FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 2;
  • Die Hash-Tabellen wurden optimiert, was die AusfĂŒhrung von EXCEPT- und INTERSECT-Operationen beschleunigt hat.
  • Die Debugging-Funktionen wurden erweitert. Bei den Operationen SELECT, INSERT, REPLACE, UPDATE und DELETE wurde UnterstĂŒtzung fĂŒr den Ausdruck „EXPLAIN FORMAT=JSON“ hinzugefĂŒgt, um diagnostische Ausgaben im JSON-Format zu generieren (z. B. „EXPLAIN FORMAT=JSON INTO @var select_stmt;“).
  • Die Anweisung „EXPLAIN FOR SCHEMA“ wurde hinzugefĂŒgt, um Diagnosen anzuzeigen, die sich nur auf ein bestimmtes Datenschema beziehen.
  • Die Option „—output-as-version“ wurde zur mysqldump-Dienstprogramm hinzugefĂŒgt, um Dumps zu erstellen, die mit einer bestimmten Ă€lteren Version von MySQL kompatibel sind (zum Beispiel kann BEFORE_8_2_0 oder BEFORE_8_0_23 angegeben werden, um die als problematisch geltende Terminologie master/slave zu verwenden, die in den Versionen 8.2.0 und 8.0.23 als veraltet erklĂ€rt wurde).
  • Die Client-C-Bibliothek hat die Möglichkeit hinzugefĂŒgt, benannte Attribute in parametrierten Abfragen (prepared statements) zu verwenden, die durch die neue Funktion mysql_stmt_bind_named_param() umgesetzt werden, die die Funktion mysql_stmt_bind_param() ersetzt.
  • Die Verteilung des SQL-Datenverkehrs im MySQL-Server-Cluster wurde vereinfacht. Es wurden FunktionalitĂ€ten bereitgestellt, um Anwendungen transparente Verbindungen zu sekundĂ€ren oder primĂ€ren Servern zu ermöglichen.
  • Ein neues Privileg SET_ANY_DEFINER wurde hinzugefĂŒgt, das das Recht zur Erstellung von Objekten mit einer DEFINER-Anweisung gewĂ€hrt, sowie das Privileg ALLOW_NONEXISTENT_DEFINER, um Objekte ohne vorhandenen EigentĂŒmer zu schĂŒtzen.
  • Folgendes wurde als veraltet erklĂ€rt: die Variablen old und new, die Platzhalter „%“ und „_“ in den Berechtigungsoperationen fĂŒr DB, die Option „—character-set-client-handshake“, die Variable binlog_transaction_dependency_tracking und das Privileg SET_USER_ID.
  • Im Rahmen der Anpassung an die problematische Terminologie im Zusammenhang mit der Replikation wurden die AusdrĂŒcke „RESET MASTER“, „SHOW MASTER STATUS“, „SHOW MASTER LOGS“ und „PURGE MASTER LOGS“ als veraltet erklĂ€rt; stattdessen sollten die AusdrĂŒcke „RESET BINARY LOGS AND GTIDS“, „SHOW BINARY LOG STATUS“, „SHOW BINARY LOGS“ und „PURGE BINARY LOGS“ verwendet werden.
  • Funktionen, die zuvor als veraltet erklĂ€rt wurden, wurden entfernt: die Funktion WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), die Variable expire_logs_days, die Optionen „—abort-slave-event-count“ und „—disconnect-slave-event-count“.
  • Es wurden 26 SicherheitsanfĂ€lligkeiten beseitigt. Zwei SicherheitsanfĂ€lligkeiten im Zusammenhang mit der Nutzung des Curl-Pakets und der OpenSSL-Bibliothek können aus der Ferne ausgenutzt werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4