Die Datenbank MySQL 8.4.0 LTS ist verfügbar

Die Oracle Corporation hat einen neuen Branch der MySQL-Datenbankversion 8.4 erstellt und ein Wartungsupdate für MySQL 8.0.37 veröffentlicht. Die Builds des MySQL Community Server 8.4.0 sind für alle gängigen Linux-Distributionen, FreeBSD, macOS und Windows vorbereitet. Version 8.4.0 gehört zu den Long-Term Support (LTS)-Branches, die alle zwei Jahre veröffentlicht werden und für fünf Jahre unterstützt werden (zudem kann eine zusätzliche dreijährige erweiterte Unterstützung in Anspruch genommen werden).

MySQL 8.4.0 ist das vierte Release, das im Rahmen des neuen Release-Modells erstellt wurde, welches zwei Arten von MySQL-Branches vorsieht – "Innovation" und "LTS". Die Innovation-Branches, zu denen MySQL 8.1, 8.2 und 8.3 gehören, sind empfohlen für diejenigen, die früher Zugang zu neuen Funktionen erhalten möchten. Diese Branches werden alle drei Monate veröffentlicht und nur bis zur Veröffentlichung des nächsten signifikanten Releases unterstützt (zum Beispiel, nach dem Erscheinen von Branch 8.4 wird die Unterstützung für Branch 8.3 eingestellt). Die LTS-Branches werden für Implementierungen empfohlen, die Vorhersehbarkeit und langfristig unverändertes Verhalten benötigen. Nach dem LTS-Branch wird ein neuer Innovation-Branch – MySQL 9.0 – erstellt.

Die wichtigsten Änderungen in MySQL 8.4:

  • Der Optimierer unterstützt jetzt die automatische Aktualisierung von Histogrammen, unabhängig von der Durchführung der Operation „ANALYZE TABLE“ für die übergeordnete Tabelle. Die automatische Aktualisierung wird aktiviert, indem der Ausdruck „AUTO UPDATE“ bei der Durchführung der Operation „ANALYZE TABLE“ angegeben wird, und deaktiviert durch den Ausdruck „MANUAL UPDATE“, der standardmäßig verwendet wird.
  • Die Optionen „—keyring-migration-from-component“, „—keyring-migration-source“ und „—keyring-migration-destination“ wurden hinzugefügt, um eine Migration von der Keyring-Komponente zum Keyring-Plugin durchzuführen.
  • Eine neue Berechtigung FLUSH_PRIVILEGES wurde hinzugefügt, die im Gegensatz zur vorher verfügbaren Berechtigung RELOAD dem Benutzer nur das Recht gewährt, die Operation „FLUSH PRIVILEGES“ auszuführen.
  • Eine neue Berechtigung OPTIMIZE_LOCAL_TABLE wurde hinzugefügt, die es dem Benutzer ermöglicht, die Operationen „OPTIMIZE LOCAL TABLE“ und „OPTIMIZE NO_WRITE_TO_BINLOG TABLE“ auszuführen.
  • Die Standardwerte der systemweiten Variablen group_replication_consistency und group_replication_exit_state_action wurden geändert. Die Variable group_replication_consistency wird jetzt auf die Werte BEFORE_ON_PRIMARY_FAILOVER anstelle von EVENTUAL gesetzt, und die Variable group_replication_exit_state_action auf OFFLINE_MODE anstelle von READ_ONLY.
  • In den Builds, die mit der integrierten OpenSSL-Bibliothek geliefert werden, kommt eine neue Version von OpenSSL 3.0.13 zum Einsatz.
  • Das direkte Upgrade von MySQL 5.7 auf MySQL 8.4 wurde eingestellt. Um von MySQL 5.7 zu wechseln, muss man zuerst auf den Branch 8.0 und anschließend auf die Version 8.4 updaten.
  • Die Standardwerte folgender InnoDB-Einstellungen wurden geändert: innodb_adaptive_hash_index, innodb_buffer_pool_in_core_file, innodb_buffer_pool_instances, innodb_change_buffering, innodb_doublewrite_files, innodb_doublewrite_pages, innodb_flush_method, innodb_io_capacity, innodb_io_capacity_max, innodb_log_buffer_size, innodb_numa_interleave, innodb_page_cleaners, innodb_parallel_read_threads, innodb_purge_threads, innodb_read_io_threads, innodb_use_fdatasync, temptable_max_ram, temptable_max_mmap und temptable_use_mmap.
  • Die Unterstützung für das Paket-Building für die Distributionen Fedora 40 und Ubuntu 24.04 wurde hinzugefügt.
  • Das Server-Plugin mysql_native_password, das die Authentifizierung über Passwörter ermöglicht, ist standardmäßig deaktiviert und als veraltet markiert. Stattdessen wird empfohlen, das Plugin caching_sha2_password zu verwenden, das den SHA2-Algorithmus zum Hashing anstelle von SHA1 nutzt. Um die Unterstützung für mysql_native_password wiederherzustellen, kann die Option "—mysql-native-password=ON" oder die Einstellung "mysql_native_password=ON" verwendet werden.
  • Die Unterstützung unsicherer Protokolle und Verschlüsselungsalgorithmen wurde eingestellt. Es werden nur TLS v1.2 und TLSv1.3 unterstützt, sowie Algorithmen, die die direkte Geheimhaltung (forward secrecy) garantieren, einschließlich Sha2-Zertifikaten und Verschlüsselungen im AES GCM oder AEAD Modus.
  • SQL-Ausdrücke, die mit der Replikation verbunden sind, wurden entfernt, da sie aufgrund der Verwendung politisch inkorrekter Terminologie als veraltet gelten: START SLAVE (sollte durch START REPLICA ersetzt werden); STOP SLAVE (sollte durch STOP REPLICA ersetzt werden); SHOW SLAVE STATUS (sollte durch SHOW REPLICA STATUS ersetzt werden); SHOW SLAVE HOSTS (SHOW REPLICAS); RESET SLAVE (RESET REPLICA); CHANGE MASTER TO (CHANGE REPLICATION SOURCE TO); RESET MASTER (RESET BINARY LOGS AND GTIDS); SHOW MASTER STATUS (SHOW BINARY LOG STATUS); PURGE MASTER LOGS (PURGE BINARY LOGS); SHOW MASTER LOGS (SHOW BINARY LOGS).
  • Früher als veraltet erklärte Optionen, die in den Ausdrücken „CHANGE REPLICATION SOURCE TO“ und „START REPLICA“ verwendet wurden, wurden entfernt. Das Wort „master“ wurde durch „source“ ersetzt: SOURCE_AUTO_POSITION (anstatt MASTER_AUTO_POSITION), SOURCE_HOST (anstatt MASTER_HOST), SOURCE_BIND (anstatt MASTER_BIND), SOURCE_USER (anstatt MASTER_USER), SOURCE_PASSWORD (anstatt MASTER_PASSWORD), SOURCE_PORT (anstatt MASTER_PORT), SOURCE_CONNECT_RETRY (anstatt MASTER_CONNECT_RETRY), SOURCE_RETRY_COUNT (anstatt MASTER_RETRY_COUNT), SOURCE_DELAY (anstatt MASTER_DELAY), SOURCE_SSL (anstatt MASTER_SSL), SOURCE_SSL_CA (anstatt MASTER_SSL_CA), SOURCE_SSL_CAPATH (anstatt MASTER_SSL_CAPATH), SOURCE_SSL_CIPHER (anstatt MASTER_SSL_CIPHER), SOURCE_SSL_CRL (anstatt MASTER_SSL_CRL), SOURCE_SSL_CRLPATH (anstatt MASTER_SSL_CRLPATH), SOURCE_SSL_KEY (anstatt MASTER_SSL_KEY), SOURCE_SSL_VERIFY_SERVER_CERT (anstatt MASTER_SSL_VERIFY_SERVER_CERT), SOURCE_TLS_VERSION (anstatt MASTER_TLS_VERSION), SOURCE_TLS_CIPHERSUITES (anstatt MASTER_TLS_CIPHERSUITES), SOURCE_SSL_CERT (anstatt MASTER_SSL_CERT), SOURCE_PUBLIC_KEY_PATH (anstatt MASTER_PUBLIC_KEY_PATH), GET_SOURCE_PUBLIC_KEY (anstatt GET_MASTER_PUBLIC_KEY), SOURCE_HEARTBEAT_PERIOD (anstatt MASTER_HEARTBEAT_PERIOD), SOURCE_COMPRESSION_ALGORITHMS (anstatt MASTER_COMPRESSION_ALGORITHMS), SOURCE_ZSTD_COMPRESSION_LEVEL (anstatt MASTER_ZSTD_COMPRESSION_LEVEL), SOURCE_LOG_FILE (anstatt MASTER_LOG_FILE), SOURCE_LOG_POS (anstatt MASTER_LOG_POS).
  • Systemvariablen, in denen die Begriffe „master“ und „slave“ verwendet wurden, wurden entfernt: Com_replica_start (anstatt Com_slave_start), Com_replica_stop (anstatt Com_slave_stop), Com_show_replica_status (anstatt Com_show_slave_status), Com_show_replicas (anstatt Com_show_slave_hosts), Com_show_binary_log_status (anstatt Com_show_master_status), Com_change_replication_source (anstatt Com_change_master).
  • Die Systemvariable group_replication_allow_local_lower_version_join wurde als obsolet erklärt. Zuvor als obsolet erklärte Optionen wie „—no-dd-upgrade“, „—old“, „—new“, „—language“, „—admin-ssl“ und die Variablen binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals sowie default_authentication_plugin wurden entfernt.sslDie ungenutzte Tabelle INFORMATION_SCHEMA.TABLESPACES wurde entfernt.
  • Die Unterstützung der Verwendung des Wertes LOW_PRIORITY in Verbindung mit dem Ausdruck „LOCK TABLES … WRITE“ wurde eingestellt.
  • Die Unterstützung für den Modifikator AUTO_INCREMENT in Kombination mit den Typen FLOAT und DOUBLE wurde eingestellt.
  • Das Tool mysql_ssl_rsa_setup wurde entfernt – bei der Kompilierung mit OpenSSL.
  • MySQL kann automatisch fehlende SSL- und RSA-Dateien beim Start generieren. der Server Das Tool mysql_upgrade wurde entfernt, da es seit der Version MySQL 8.0.16 nicht mehr verwendet wird.
  • Die Tools mysqlpump, lz4_decompress und zlib_decompress wurden entfernt; stattdessen sollte das Tool mysqldump oder die Interaktive Shell-Befehle verwendet werden.
  • Die Plugins authentication_fido, authentication_fido_client (verwenden Sie authentication_webauthn stattdessen); keyring_file (verwenden Sie component_keyring_file); keyring_encrypted_file (verwenden Sie component_keyring_encrypted_file); keyring_oci (verwenden Sie component_keyring_oci) wurden entfernt.
  • Folgende Plugins wurden entfernt: authentication_fido, authentication_fido_client (verwenden Sie stattdessen authentication_webauthn); keyring_file (verwenden Sie stattdessen component_keyring_file); keyring_encrypted_file (verwenden Sie stattdessen component_keyring_encrypted_file); keyring_oci (verwenden Sie stattdessen component_keyring_oci).
  • Die Unterstützung für den Ausdruck ENGINE wurde zusammen mit den verschiedenen Varianten „DROP TABLESPACE“ und „ALTER TABLESPACE“ eingestellt.
  • Das Privileg „SET_USER_ID“ wurde entfernt und kann nicht mehr in GRANT-Ausdrücken angegeben werden.
  • Die API-Funktionen: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown() und mysql_ssl_set() wurden wiederhergestellt, einige davon wurden mit der Funktion mysql_real_query() überarbeitet. Diese Funktionen wurden in der MySQL 8.3-Version entfernt, aber zur Unterstützung in der LTS-Version MySQL 8.4 wiederhergestellt.
  • Es wurden 26 Schwachstellen beseitigt, die aus der Ferne ausgenutzt werden könnten. Das schwerwiegendste Problem hat eine Gefährdungsstufe von 6,5 und hängt mit einer Schwachstelle in OpenSSL zusammen. Weniger schwerwiegende Schwachstellen betreffen den Optimierer, InnoDB, Thread-Pooling, das Gruppenreplikations-Plugin, das Audit-Plugin, DML und mysqldump.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster