Dostępna baza danych MySQL 8.4.0 LTS

Firma Oracle stworzyła nową gałąź systemu baz danych MySQL 8.4 i opublikowała aktualizację poprawkową MySQL 8.0.37. Wydania MySQL Community Server 8.4.0 są przygotowane dla wszystkich głównych dystrybucji Linux, FreeBSD, macOS i Windows. Wydanie 8.4.0 należy do gałęzi z długoterminowym wsparciem (LTS), które są wydawane co dwa lata i wspierane przez 5 lat (plus możliwość uzyskania dodatkowych 3 lat wsparcia rozszerzonego).

MySQL 8.4.0 jest czwartym wydaniem stworzonym w ramach nowego modelu tworzenia wydań, który przewiduje dwa typy gałęzi MySQL — „Innovation” i „LTS”. Gałęzie Innovation, do których zaliczają się MySQL 8.1, 8.2 i 8.3, są zalecane dla tych, którzy chcą wcześniej uzyskać dostęp do nowej funkcjonalności. Gałęzie te są publikowane co 3 miesiące i wspierane tylko do momentu opublikowania kolejnego istotnego wydania (na przykład po pojawieniu się gałęzi 8.4 wsparcie dla gałęzi 8.3 zostaje zakończone). Gałęzie LTS są zalecane dla wdrożeń, które wymagają przewidywalności i długotrwałej stałości zachowania. Po gałęzi LTS powstanie nowa gałąź Innovation — MySQL 9.0.

Główne zmiany w MySQL 8.4:

  • Do optymalizatora dodano wsparcie dla automatycznego aktualizowania histogramów, niezależnie od wykonywania operacji „ANALYZE TABLE” dla tabeli nadrzędnej. Automatyczna aktualizacja jest włączana przez указание выражения „AUTO UPDATE” podczas wykonywania operacji „ANALYZE TABLE”, a wyłączana przez указание выражения „MANUAL UPDATE”, которое используется по умолчанию.
  • Dodano opcje „—keyring-migration-from-component”, „—keyring-migration-source” i „—keyring-migration-destination” dla migracji z komponentu keyring do wtyczki keyring.
  • Dodano nową privilegium FLUSH_PRIVILEGES, która w przeciwieństwie do wcześniej dostępnej privilegium RELOAD daje użytkownikowi prawo tylko do wykonywania operacji „FLUSH PRIVILEGES”.
  • Dodano nową privilegium OPTIMIZE_LOCAL_TABLE, umożliwiającą użytkownikowi wykonywanie operacji „OPTIMIZE LOCAL TABLE” i „OPTIMIZE NO_WRITE_TO_BINLOG TABLE”.
  • Zmieniły się wartości domyślne systemowych zmiennych group_replication_consistency i group_replication_exit_state_action. Zmienna group_replication_consistency jest teraz ustawiana na wartości BEFORE_ON_PRIMARY_FAILOVER zamiast EVENTUAL, a zmienna group_replication_exit_state_action na OFFLINE_MODE zamiast READ_ONLY.
  • W wydaniach dostarczanych z wbudowaną biblioteką OpenSSL wykorzystano nową wersję OpenSSL 3.0.13.
  • Bezpośrednia aktualizacja z MySQL 5.7 do MySQL 8.4 została przerwana. Aby przejść z MySQL 5.7, najpierw należy przejść na gałąź 8.0, a następnie zaktualizować ją do wersji 8.4.
  • Zmodyfikowane wartości domyślne dla następujących ustawień InnoDB: 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 oraz temptable_use_mmap.
  • Dodana została obsługa pakietów dla dystrybucji Fedora 40 oraz Ubuntu 24.04.
  • Domyślnie wyłączono i uznano za przestarzały wtyczkę serwera mysql_native_password, która zapewniała uwierzytelnianie za pomocą haseł. Zaleca się przejście na wtyczkę caching_sha2_password, która stosuje algorytm SHA2 do haszowania zamiast SHA1. Aby przywrócić obsługę mysql_native_password, można użyć opcji „—mysql-native-password=ON” lub ustawienia „mysql_native_password=ON”.
  • Wsparcie dla niebezpiecznych protokołów i algorytmów szyfrowania zostało zakończone. Pozostawiono tylko TLS v1.2 oraz TLS v1.3, algorytmy zapewniające bezpośrednią tajność (forward secrecy), szyfry i certyfikaty z SHA2 oraz algorytmy AES w trybie GCM lub AEAD.
  • Usunięto związane z replikacją wyrażenia SQL, które wcześniej zostały uznane za przestarzałe z powodu użycia nieodpowiedniej terminologii: START SLAVE (należy używać START REPLICA); STOP SLAVE (należy używać STOP REPLICA); SHOW SLAVE STATUS (należy używać SHOW REPLICA STATUS); 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).
  • Usunięto wcześniej ogłoszone jako przestarzałe opcje używane w wyrażeniach „CHANGE REPLICATION SOURCE TO” i „START REPLICA”, które używały słowa „master”, zastąpione „source”: MASTER_AUTO_POSITION (należy używać SOURCE_AUTO_POSITION), MASTER_HOST (należy używać SOURCE_HOST), MASTER_BIND (należy używać SOURCE_BIND), MASTER_USER (SOURCE_USER), MASTER_PASSWORD (SOURCE_PASSWORD), MASTER_PORT (SOURCE_PORT), MASTER_CONNECT_RETRY (SOURCE_CONNECT_RETRY), MASTER_RETRY_COUNT (SOURCE_RETRY_COUNT), MASTER_DELAY (SOURCE_DELAY), MASTER_SSL (SOURCE_SSL), MASTER_SSL_CA (SOURCE_SSL_CA), MASTER_SSL_CAPATH (SOURCE_SSL_CAPATH), MASTER_SSL_CIPHER (SOURCE_SSL_CIPHER), MASTER_SSL_CRL (SOURCE_SSL_CRL), MASTER_SSL_CRLPATH (SOURCE_SSL_CRLPATH), MASTER_SSL_KEY (SOURCE_SSL_KEY), MASTER_SSL_VERIFY_SERVER_CERT (SOURCE_SSL_VERIFY_SERVER_CERT), MASTER_TLS_VERSION (SOURCE_TLS_VERSION), MASTER_TLS_CIPHERSUITES (SOURCE_TLS_CIPHERSUITES), MASTER_SSL_CERT (SOURCE_SSL_CERT), MASTER_PUBLIC_KEY_PATH (SOURCE_PUBLIC_KEY_PATH), GET_MASTER_PUBLIC_KEY (GET_SOURCE_PUBLIC_KEY), MASTER_HEARTBEAT_PERIOD (SOURCE_HEARTBEAT_PERIOD), MASTER_COMPRESSION_ALGORITHMS (SOURCE_COMPRESSION_ALGORITHMS), MASTER_ZSTD_COMPRESSION_LEVEL (SOURCE_ZSTD_COMPRESSION_LEVEL), MASTER_LOG_FILE (SOURCE_LOG_FILE), MASTER_LOG_POS (SOURCE_LOG_POS).
  • Usunięto zmienne systemowe, w których używano słów „master” i „slave”: Com_slave_start (należy używać Com_replica_start); Com_slave_stop (Com_replica_stop); Com_show_slave_status (Com_show_replica_status); Com_show_slave_hosts (Com_show_replicas); Com_show_master_status (Com_show_binary_log_status); Com_change_master (Com_change_replication_source).
  • Ogłoszono jako przestarzałą zmienną systemową group_replication_allow_local_lower_version_join. Usunięto wcześniej ogłoszone jako przestarzałe opcje „—no-dd-upgrade”, „—old”, „—new”, „—language”, „—ssl„, „—admin-ssl” oraz zmienne binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals i default_authentication_plugin.
  • Usunięto nieużywaną tabelę INFORMATION_SCHEMA.TABLESPACES.
  • Zaprzestano wspierania użycia wartości LOW_PRIORITY w połączeniu z wyrażeniem „LOCK TABLES … WRITE”.
  • Zaprzestano wspierania użycia modyfikatora AUTO_INCREMENT w połączeniu z typami FLOAT i DOUBLE.
  • Usunięto narzędzie mysql_ssl_rsa_setup — przy kompilacji z OpenSSL. serwer MySQL może automatycznie generować brakujące pliki SSL i RSA podczas uruchamiania.
  • Usunięto narzędzie mysql_upgrade, które nie jest używane z wersją MySQL 8.0.16.
  • Usunięto narzędzia mysqlpump, lz4_decompress i zlib_decompress, zamiast nich należy używać narzędzia mysqldump lub poleceń dump w interaktywnej powłoce.
  • Usunięto wtyczki: authentication_fido, authentication_fido_client (należy używać authentication_webauthn); keyring_file (należy używać component_keyring_file); keyring_encrypted_file (należy używać component_keyring_encrypted_file); keyring_oci (należy używać component_keyring_oci).
  • Wsparcie dla wyrażenia ENGINE zostało zakończone, wraz z różnymi wariantami «DROP TABLESPACE» i «ALTER TABLESPACE».
  • Usunięto uprawnienie «SET_USER_ID», które nie może być już określane w wyrażeniach GRANT.
  • Przywrócono funkcje API: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown() oraz mysql_ssl_set(), z których część została przekształcona za pomocą funkcji mysql_real_query(). Funkcje te zostały usunięte w gałęzi MySQL 8.3, ale przywrócono je w ramach wsparcia dla gałęzi LTS MySQL 8.4.
  • Usunięto 26 luk w zabezpieczeniach, które mogą być wykorzystywane zdalnie. Najpoważniejszy problem ma poziom zagrożenia 6.5 i dotyczy podatności w openSSL. Mniej niebezpieczne luki dotyczą optymalizatora, InnoDB, Thread Pooling, Group Replication Plugin, Audit Plugin, DML, mysqldump.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster