MySQL 8.4.0 LTS database is available.

Oracle has created a new branch of the MySQL DBMS 8.4 and released a corrective update MySQL 8.0.37. Builds of MySQL Community Server 8.4.0 are prepared for all major Linux distributions, FreeBSD, macOS, and Windows. The 8.4.0 release is classified under long-term support (LTS) branches, which are released every two years and supported for 5 years (plus there is an option for an additional 3 years of extended support).

MySQL 8.4.0 is the fourth release created within the new release model that includes two types of MySQL branches — ‘Innovation’ and ‘LTS’. The Innovation branches, which include MySQL 8.1, 8.2, and 8.3, are recommended for those who want earlier access to new features. These branches are published every 3 months and are supported only until the next major release is published (for example, support for branch 8.3 is discontinued after the release of branch 8.4). LTS branches are recommended for implementations that require predictability and long-term preservation of unchanged behavior. A new Innovation branch — MySQL 9.0 — will follow the LTS branch.

Main changes in MySQL 8.4:

  • The optimizer has added support for automatic histogram updates, regardless of the execution of the ‘ANALYZE TABLE’ operation for the parent table. Automatic updates are enabled by specifying the expression ‘AUTO UPDATE’ during the ‘ANALYZE TABLE’ operation and disabled by specifying the expression ‘MANUAL UPDATE’, which is used by default.
  • Options ‘—keyring-migration-from-component’, ‘—keyring-migration-source’, and ‘—keyring-migration-destination’ have been added for migrating from the keyring component to the keyring plugin.
  • A new privilege FLUSH_PRIVILEGES has been added, which differs from the previously available privilege RELOAD by granting the user rights to perform only the ‘FLUSH PRIVILEGES’ operation.
  • A new privilege OPTIMIZE_LOCAL_TABLE has been added, allowing the user to perform ‘OPTIMIZE LOCAL TABLE’ and ‘OPTIMIZE NO_WRITE_TO_BINLOG TABLE’ operations.
  • The default values for the system variables group_replication_consistency and group_replication_exit_state_action have been changed. The variable group_replication_consistency is now set to BEFORE_ON_PRIMARY_FAILOVER instead of EVENTUAL, and the variable group_replication_exit_state_action is set to OFFLINE_MODE instead of READ_ONLY.
  • In the builds shipped with the embedded OpenSSL library, a new version of OpenSSL 3.0.13 is utilized.
  • Direct upgrades from MySQL 5.7 to MySQL 8.4 have been discontinued. To migrate from MySQL 5.7, you must first upgrade to branch 8.0 before updating to version 8.4.
  • The default values for the following InnoDB settings have been changed: 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, and temptable_use_mmap.
  • Support has been added for package builds for Fedora 40 and Ubuntu 24.04.
  • The mysql_native_password server plugin, which provides authentication via passwords, has been disabled by default and is deprecated. It is recommended to switch to the caching_sha2_password plugin, which uses the SHA2 algorithm for hashing instead of SHA1. To restore support for mysql_native_password, you can use the option '--mysql-native-password=ON' or the setting 'mysql_native_password=ON'.
  • Support for insecure protocols and encryption algorithms has been discontinued. Only TLS v1.2 and TLS v1.3 remain, alongside algorithms that provide forward secrecy, ciphers and certificates with SHA2, and AES algorithms in GCM or AEAD mode.
  • SQL expressions related to replication that were previously deprecated due to the use of politically incorrect terminology have been removed: START SLAVE (use START REPLICA); STOP SLAVE (use STOP REPLICA); SHOW SLAVE STATUS (use 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).
  • Deprecated options previously announced have been removed, which were used in the expressions "CHANGE REPLICATION SOURCE TO" and "START REPLICA," and using the word "master," which has been replaced with "source": SOURCE_AUTO_POSITION (use MASTER_AUTO_POSITION), SOURCE_HOST (use MASTER_HOST), SOURCE_BIND (use MASTER_BIND), SOURCE_USER (MASTER_USER), SOURCE_PASSWORD (MASTER_PASSWORD), SOURCE_PORT (MASTER_PORT), SOURCE_CONNECT_RETRY (MASTER_CONNECT_RETRY), SOURCE_RETRY_COUNT (MASTER_RETRY_COUNT), SOURCE_DELAY (MASTER_DELAY), SOURCE_SSL (MASTER_SSL), SOURCE_SSL_CA (MASTER_SSL_CA), SOURCE_SSL_CAPATH (MASTER_SSL_CAPATH), SOURCE_SSL_CIPHER (MASTER_SSL_CIPHER), SOURCE_SSL_CRL (MASTER_SSL_CRL), SOURCE_SSL_CRLPATH (MASTER_SSL_CRLPATH), SOURCE_SSL_KEY (MASTER_SSL_KEY), SOURCE_SSL_VERIFY_SERVER_CERT (MASTER_SSL_VERIFY_SERVER_CERT), SOURCE_TLS_VERSION (MASTER_TLS_VERSION), SOURCE_TLS_CIPHERSUITES (MASTER_TLS_CIPHERSUITES), SOURCE_SSL_CERT (MASTER_SSL_CERT), SOURCE_PUBLIC_KEY_PATH (MASTER_PUBLIC_KEY_PATH), GET_SOURCE_PUBLIC_KEY (GET_MASTER_PUBLIC_KEY), SOURCE_HEARTBEAT_PERIOD (MASTER_HEARTBEAT_PERIOD), SOURCE_COMPRESSION_ALGORITHMS (MASTER_COMPRESSION_ALGORITHMS), SOURCE_ZSTD_COMPRESSION_LEVEL (MASTER_ZSTD_COMPRESSION_LEVEL), SOURCE_LOG_FILE (MASTER_LOG_FILE), SOURCE_LOG_POS (MASTER_LOG_POS).
  • System variables that used the words "master" and "slave" have been removed: Com_replica_start (use Com_slave_start); Com_replica_stop (use Com_slave_stop); Com_show_replica_status (use Com_show_slave_status); Com_show_replicas (use Com_show_slave_hosts); Com_show_binary_log_status (use Com_show_master_status); and Com_change_replication_source (use Com_change_master).
  • The system variable group_replication_allow_local_lower_version_join has been deprecated. Deprecated options "—no-dd-upgrade," "—old," "—new," "—language," "—ssl—admin-ssl" and the variables binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals, and default_authentication_plugin have been removed.
  • The unused table INFORMATION_SCHEMA.TABLESPACES has been removed.
  • Support for the LOW_PRIORITY value used with the expression "LOCK TABLES … WRITE" has been discontinued.
  • Support for the AUTO_INCREMENT modifier used with FLOAT and DOUBLE types has been discontinued.
  • The mysql_ssl_rsa_setup utility has been removed — during compilation with OpenSSL. server MySQL can automatically generate missing SSL and RSA files upon startup.
  • The mysql_upgrade utility has been removed, which is not used with the MySQL 8.0.16 release.
  • The utilities mysqlpump, lz4_decompress, and zlib_decompress have been removed, for which mysqldump or interactive shell dump commands should be used instead.
  • The following plugins have been removed: authentication_fido, authentication_fido_client (use authentication_webauthn instead); keyring_file (use component_keyring_file instead); keyring_encrypted_file (use component_keyring_encrypted_file instead); keyring_oci (use component_keyring_oci instead).
  • Support for the ENGINE expression has been discontinued along with various options for "DROP TABLESPACE" and "ALTER TABLESPACE."
  • The "SET_USER_ID" privilege has been removed and can no longer be specified in GRANT statements.
  • The following C API functions have been restored: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown(), and mysql_ssl_set(), some of which have been redesigned using the mysql_real_query() function. These functions were removed in the MySQL 8.3 branch but have been reinstated for support in the LTS branch of MySQL 8.4.
  • A total of 26 vulnerabilities have been addressed that could be exploited remotely. The most serious issue has a severity level of 6.5 and relates to a vulnerability in OpenSSL. Less critical vulnerabilities affect the optimizer, InnoDB, Thread Pooling, Group Replication Plugin, Audit Plugin, DML, and mysqldump.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster