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 ]
2583
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.