MySQL Community Server 8.0.24 has been released [ part 1/2 ]
Posted by: Bjørn Munch
Date: April 20, 2021 03:13AM
Date: April 20, 2021 03:13AM
[ Due to size limitations, the post is split in two. This is part 1. ]
Dear MySQL users,
MySQL Server 8.0.24, a new version of the popular Open Source
Database Management System, has been released. MySQL 8.0.24 is
recommended for use on production systems.
For an overview of what's new in MySQL 8.0, please see
http://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
For information on installing MySQL 8.0.24 on new servers, please see
the MySQL installation documentation at
http://dev.mysql.com/doc/refman/8.0/en/installing.html
MySQL Server 8.0.24 is available in source and binary form for a number of
platforms from our download pages at
http://dev.mysql.com/downloads/mysql/
MySQL Server 8.0.24 is also available from our repository for Linux
platforms, go here for details:
http://dev.mysql.com/downloads/repo/
Windows packages are available via the Installer for Windows:
http://dev.mysql.com/downloads/installer/
along with .ZIP (no-install) packages for more advanced needs.
8.0.24 also comes with a web installer as an alternative to the full
installer.
The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.
We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:
http://bugs.mysql.com/report.php
The following link lists the changes in the MySQL 8.0 since
the release of MySQL 8.0.23. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-24.html
Enjoy!
Dear MySQL users,
MySQL Server 8.0.24, a new version of the popular Open Source
Database Management System, has been released. MySQL 8.0.24 is
recommended for use on production systems.
For an overview of what's new in MySQL 8.0, please see
http://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
For information on installing MySQL 8.0.24 on new servers, please see
the MySQL installation documentation at
http://dev.mysql.com/doc/refman/8.0/en/installing.html
MySQL Server 8.0.24 is available in source and binary form for a number of
platforms from our download pages at
http://dev.mysql.com/downloads/mysql/
MySQL Server 8.0.24 is also available from our repository for Linux
platforms, go here for details:
http://dev.mysql.com/downloads/repo/
Windows packages are available via the Installer for Windows:
http://dev.mysql.com/downloads/installer/
along with .ZIP (no-install) packages for more advanced needs.
8.0.24 also comes with a web installer as an alternative to the full
installer.
The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.
We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:
http://bugs.mysql.com/report.php
The following link lists the changes in the MySQL 8.0 since
the release of MySQL 8.0.23. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-24.html
Enjoy!
Changes in MySQL 8.0.24 (2021-04-20) * Audit Log Notes * Compilation Notes * Connection Management Notes * Error Handling * Optimizer Notes * Packaging Notes * Performance Schema Notes * Pluggable Authentication * Security Notes * Spatial Data Support * Functionality Added or Changed * Bugs Fixed Audit Log Notes * MySQL Enterprise Audit now supports audit log file pruning, for JSON-format log files. See Space Management of Audit Log Files (https://dev.mysql.com/doc/refman/8.0/en/audit-log-logging-configuration.html#audit-log-space-management). Compilation Notes * GCC 10 is now a supported compiler for building MySQL on EL7 or EL8. This compiler is available in the devtoolset-10 (EL7) or gcc-toolset-10 (EL8) package. It is also recommended to use GCC 10 when building third-party applications that are based on the libmysqlclient C API library. (Bug #32381003) Connection Management Notes * Previously, if a client did not use the connection to the server within the period specified by the wait_timeout system variable and the server closed the connection, the client received no notification of the reason. Typically, the client would see Lost connection to MySQL server during query (CR_SERVER_LOST) or MySQL server has gone away (CR_SERVER_GONE_ERROR). In such cases, the server now writes the reason to the connection before closing it, and client receives a more informative error message, The client was disconnected by the server because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior. (ER_CLIENT_INTERACTION_TIMEOUT). The previous behavior still applies for client connections to older servers and connections to the server by older clients. Error Handling * Client connection failure messages now include the port number. For example: Can't connect to MySQL server on '127.0.0.1:63333'. Thanks to Daniël van Eeden for the contribution. (Bug #30787660, Bug #98311) Optimizer Notes * The MySQL query optimizer can now apply the derived table optimization to correlated scalar subqueries. This is done by applying an extra grouping and then an outer join on the lifted predicate. For example, a query such as SELECT * FROM t1 WHERE (SELECT a FROM t2 WHERE t2.a=t1.a) > 0 can be rewritten as SELECT t1.* FROM t1 LEFT OUTER JOIN (SELECT a, COUNT(*) AS ct FROM t2 GROUP BY a) AS derived ON t1.a = derived.a WHERE derived.a > 0. If the subquery already has an explicit grouping, MySQL adds the extra grouping to the end of the existing grouping list. MySQL performs a cardinality check to ensure that the subquery does not return more than one row, and raises ER_SUBQUERY_NO_1_ROW if it does. The check is performed as part of evaluating any WHERE or JOIN clause in the rewritten query, before evaluating the lifted predicate. For more information, see Correlated Subqueries (https://dev.mysql.com/doc/refman/8.0/en/correlated-subqueries.html), as well as Derived Tables (https://dev.mysql.com/doc/refman/8.0/en/derived-tables.html). Packaging Notes * The bundled libedit library was upgraded to version 20190324-3.1. (Bug #32433089) * Binary packages that include curl rather than linking to the system curl library have been upgraded to use curl 7.74.0. Performance Schema Notes * Incompatible Change: Instrumentation in the Performance Schema setup_instruments table was revised as follows: + There are new memory instruments to account for memory allocated to data dictionary infrastructure and objects: memory/sql/dd::infrastructure memory/sql/dd::objects + Some instruments were renamed for improved uniformity of instrument naming. Affected instrument names are grouped using a key prefix in the same style as C++ namespaces. For example, error-related instruments use a error:: prefix and partition-related instruments use a Partition:: prefix. The following table displays the affected instruments. Old Instrument Name New Instrument Name debug_sync_control::debug_sync_action THD::debug_sync_action errmsgs errmsgs::server handler::errmsgs errmsgs::handler handlerton handlerton::objects log_error_loaded_services log_error::loaded_services log_error_stack log_error::stack LOG_name LOG::file_name MDL_context_backup_manager MDL_context::backup_manager Partition_admin Partition::admin Partition_share Partition::share partition_sort_buffer Partition::sort_buffer partition_syntax_buffer Partition::syntax_buffer Prepared_statement_map Prepared_statement::infrastructure prune_partitions::exec Partition::prune_exec Recovered_xa_transactions XA::recovered_transactions thd::main_mem_root THD::main_mem_root XID XA::transaction_contexts In addition, the servers instrument is a duplicate of servers_cache and has been removed. Applications that use the old or removed instrument names should be adjusted to account for this change. + Several instruments were given a value in the DOCUMENTATION column (it is no longer NULL), improving runtime instrumentation documentation availability. Pluggable Authentication * The new caching_sha2_password_digest_rounds system variable enables configuring the number of hash rounds used by the caching_sha2_password authentication plugin for password storage. Security Notes * For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for MySQL Server has been updated to version 1.1.1k. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html. (Bug #32680637) Spatial Data Support * The new ST_LineInterpolatePoint() and ST_LineInterpolatePoints() functions return a single point or multiple points interpolated between the start point and endpoint of a LineString geometry. The new ST_PointAtDistance() function returns a single point a given distance along a LineString geometry. See Spatial Operator Functions (https://dev.mysql.com/doc/refman/8.0/en/spatial-operator-functions.html). The new ST_Collect() aggregate function takes multiple geometry arguments and produces from them a single geometry collection value. See Spatial Aggregate Functions (https://dev.mysql.com/doc/refman/8.0/en/spatial-aggregate-functions.html) The CAST() and CONVERT() functions have been extended to support casting geometry values from one spatial type to another. See Cast Functions and Operators (https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html). Functionality Added or Changed * InnoDB: The AUTOEXTEND_SIZE maximum setting was increased from 64M to 4GB. The AUTOEXTEND_SIZE option, introduced in MySQL 8.0.23, defines the amount by which InnoDB extends the size of a tablespace when it becomes full. The option is supported with the CREATE TABLE, ALTER TABLE, CREATE TABLESPACE, and ALTER TABLESPACE statements. For more information, see Tablespace AUTOEXTEND_SIZE Configuration (https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace-autoextend-size.html). (Bug #32438606) * Microsoft Windows: The /RTC1 compiler flag was removed from the debug compiler flags to reduce the time needed to run all tests invoked by the mysql-test-run.pl script when using MSVC on Windows. Initially, this compiler flag was introduced with the CMake program (by default for debug builds) and it generated code to test for stack corruption around function calls and the use of uninitialized variables at runtime. No loss of bug discovery is expected with the removal of the /RTC1 compiler flag. Memory errors, such as stack corruption, are more likely to be found by Address Sanitizer (ASAN) testing and the use of uninitialized variables are detected by compiler warnings. (Bug #32525732) * Microsoft Windows: The named_pipe_full_access_group system variable now defaults to an empty string (''), making named pipe connections secure. Previously, '*everyone*' was the default value. A valid Windows local group name may be substituted. * The new clone_donor_timeout_after_network_failure Clone plugin variable defines the amount of time the donor allows for the recipient to reconnect and restart a cloning operation following a network failure. The timeout was previously fixed at 5 minutes. The timeout can now be extended up to 30 minutes to provide more time for network issues to be resolved. Thanks to Daniël van Eeden for the contribution. (Bug #32335434, Bug #102103) * Client applications and test suite plugins now report utf8mb3 rather than utf8 when writing character set names. (Bug #32164079, Bug #32164125) * Group Replication's allowlist of hosts from which an incoming Group Communication System connection can be accepted, can now be updated while Group Replication is still running. You can therefore add new members to a group controlled by an allowlist without needing to stop and restart Group Replication. The allowlist is specified by the group_replication_ip_allowlist system variable on each group member. * The --skip-slave-start command line parameter is used to prevent the replication I/O thread and replication SQL thread from starting when a replica server restarts. However, using the parameter on the command line or in a my.cnf option file might require login access to the server host. The skip_slave_start system variable is now provided to give access to this feature using MySQL Server's privilege structure, so that database administrators do not need any privileged access to the operating system. The new global system variable is read-only and can be set using a SET PERSIST_ONLY statement. As a system variable, its value can also be queried from a MySQL client and used by MySQL APIs. The --skip-slave-start command line parameter can still be used as an alternative, and it sets the new global system variable.
Subject
Views
Written By
Posted
MySQL Community Server 8.0.24 has been released [ part 1/2 ]
1782
April 20, 2021 03:13AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.