MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Balasubramanian Kandasamy Date:April 19 2018 12:58pm
Subject:MySQL Community Server 8.0.11 has been released (part 1/2)
View as plain text  
[Due to size limitations, the announcement is split in 2 parts. This is 
part 1.]

Dear MySQL users,

MySQL Server 8.0.11 (GA) is a new version of the world's
most popular open source database. This is the first official release
of MySQL 8.0.

The new features in this release are now deemed to be of Release quality.

Note that 8.0.11 includes all features in MySQL 5.7 and previous 8.0
Development Milestone Releases. An overview of what's new in MySQL 8.0
is available online at

https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

For information on installing MySQL 8.0.11 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.11 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.11 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 or .ZIP
(no-install) packages for more advanced needs. The point and click
configuration wizards and all MySQL products are available in the
unified Installer for Windows:

http://dev.mysql.com/downloads/installer/

8.0.11 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
the release of MySQL 8.0.4.

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html

Enjoy!

Changes in MySQL 8.0.11 (2018-04-19, General Availability)

    Note

    Upgrade from MySQL 5.7 to MySQL 8.0 is only supported using
    the in-place upgrade method.

    Downgrade from MySQL 8.0 to MySQL 5.7 (or from a MySQL 8.0
    release to a previous MySQL 8.0 release) is not supported.
    The only supported alternative is to restore a backup taken
    before upgrading.


      * Character Set Support

      * Compilation Notes

      * Configuration Notes

      * Deprecation and Removal Notes

      * INFORMATION_SCHEMA Notes

      * Installation Notes

      * Logging Notes

      * Packaging Notes

      * Performance Schema Notes

      * Security Notes

      * Spatial Data Support

      * sys Schema Notes

      * Test Suite Notes

      * X Plugin Notes

      * Functionality Added or Changed

      * Bugs Fixed

Character Set Support


      * The utf8mb3 character set will be replaced by utf8mb4 in
        some future MySQL version. The utf8 character set is
        currently an alias for utf8mb3, but will at that
point
        become a reference to utf8mb4. To avoid ambiguity
about
        the meaning of utf8, consider specifying utf8mb4
        explicitly for character set references instead of
utf8.

Compilation Notes


      * MySQL source code has been converted to Google style
        rules using clang-format. (Bug #27414321)

      * Sun RPC is being removed from glibc. CMake now detects
        and uses libtirpc if glibc does not contain Sun RPC.
(You
        might find it necessary to install libtirpc and
rpcgen to
        take advantage of this CMake feature.) (Bug
#27368272,
        Bug #89168)

      * The minimum version of the Boost library for server
        builds is now 1.66.0. (Bug #27137349, Bug #88540)

      * When building from source, the provided CMake script
        assumed that JUnit and Ant were installed and
available
        at set paths. If this was not the case, building the
GCS
        Java wrapper resulted in build errors. To address
this a
        new CMake option WITH_ANT=path_name has been added
to the
        build script, and which works in a similar way to
the
        existing WITH_BOOST CMake option. Set WITH_ANT to
the
        path of a directory where the Ant tarball, or an
already
        unpacked archive, is saved. When WITH_ANT is not
set, or
        is set with the special value system, the build
assumes a
        binary ant exists in $PATH.
        Similarly, the CMake option ENABLE_DOWNLOADS already
        exists to download required libraries during a
build,
        such as the Google Test distribution. Now, when
        ENABLE_DOWNLOADS is set, and JUnit or Ant are not
found
        they are downloaded as part of the build process.
(Bug
        #26678793)

Configuration Notes


      * A new CMake option, BUNDLE_RUNTIME_LIBRARIES, enables
        bundling of runtime libraries with server MSI and
Zip
        packages for Windows. (Bug #27584796, Bug #89771)

      * systemd service files now increase LimitNOFILE to 10000,
        to accommodate higher default settings in MySQL 8.0.
(Bug
        #27530282)

      * The new WITH_SYSTEM_LIBS CMake option, when enabled,
        selects the system value for any of the following
options
        that are not set explicitly: WITH_EDITLINE,
WITH_ICU,
        WITH_LIBEVENT, WITH_LZ4, WITH_PROTOBUF, WITH_SSL,
        WITH_ZLIB. (Bug #27356668, Bug #89136)

      * The version of the compiled-in zlib library is now
        available at runtime as the value of the
        version_compile_zlib system variable. Thanks to
Daniël
        van Eeden for the patch. (Bug #27235065, Bug #88825)

Deprecation and Removal Notes


      * Incompatible Change: These deprecated compatibility SQL
        modes have been removed: DB2, MAXDB, MSSQL,
MYSQL323,
        MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS,
        NO_KEY_OPTIONS, NO_TABLE_OPTIONS. They can no longer
be
        assigned to the sql_mode system variable or used as
        permitted values for the mysqldump --compatible
option.
        Removal of MAXDB means that the TIMESTAMP data type
for
        CREATE TABLE or ALTER TABLE is no longer treated as
        DATETIME.
        For MySQL 5.7 applications that use SQL modes
removed in
        MySQL 8.0, statements may fail when replicated from
a
        MySQL 5.7 master to a MySQL 8.0 slave, or may have
        different effects on master and slave. To avoid such
        problems, applications that use modes removed in
MySQL
        8.0 should be revised to avoid them.

      * The following features related to account management have
        been removed:

           + Using GRANT to create users.
Instead, use CREATE
             USER. Following this
practice makes the
             NO_AUTO_CREATE_USER
SQL mode immaterial for GRANT
             statements, so it too
is removed.

           + Using GRANT to modify account
properties other than
             privilege assignments.
This includes authentication,
             SSL, and
resource-limit properties. Instead,
             establish such
properties at account-creation time
             with CREATE USER or
modify them afterward with ALTER
             USER.

           + IDENTIFIED BY PASSWORD
'hash_string' syntax for
             CREATE USER and GRANT.
Instead, use IDENTIFIED WITH
             auth_plugin AS
'hash_string' for CREATE USER and
             ALTER USER, where the
'hash_string' value is in a
             format compatible with
the named plugin.
             Additionally, because
IDENTIFIED BY PASSWORD syntax
             has been removed, the
            
log_builtin_as_identified_by_password system
             variable is
superfluous and has been removed.

           + The PASSWORD() function.
Additionally, PASSWORD()
             removal means that SET
PASSWORD ... =
            
PASSWORD('auth_string') syntax is no longer
             available.

           + The old_passwords system
variable.
        For MySQL 5.7 applications that use features removed
in
        MySQL 8.0, statements may fail when replicated from
a
        MySQL 5.7 master to a MySQL 8.0 slave, or may have
        different effects on master and slave. To avoid such
        problems, applications that use features removed in
MySQL
        8.0 should be revised to avoid them and use
alternatives
        when possible. (Bug #27455708)

INFORMATION_SCHEMA Notes


      * The new INFORMATION_SCHEMA.KEYWORDS table lists the words
        considered keywords by MySQL and, for each one,
indicates
        whether it is reserved. This table provides
applications
        a runtime source of MySQL keyword information. See
The
        INFORMATION_SCHEMA KEYWORDS Table
       
(http://dev.mysql.com/doc/refman/8.0/en/keywords-table.html).
        In addition, if you build MySQL from source, the
build
        process generates a keyword_list.h header file
containing
        a array of keywords and their reserved status. This
file
        can be found in the sql directory under the build
        directory. This file may be useful for applications
that
        require a static source for the keyword list.

Installation Notes


      * RPM and Debian packages now add the current MySQL series
        to the share directory name (for example
        share/mysql-8.0). (Bug #27638192, Bug #26990531)

Logging Notes


      * Messages written to the error log now indicate the
        subsystem in which the event occurred. Possible
subsystem
        values are InnoDB (the InnoDB storage engine), Repl
(the
        replication subsystem), Server (otherwise).

Packaging Notes


      * Installing or upgrading using Debian packages now
        presents a dialog with an option for setting the
default
        authentication plugin to mysql_native_password. This
may
        be useful for backward compatibility at some
installation
        sites. (Bug #27454287, Bug #27667294)

      * The compile_innodb script is no longer used and has been
        removed from MySQL distributions. Thanks for Alexey
        Kopytov for the suggestion. (Bug #27448099, Bug
#89437)

Performance Schema Notes


      * A new Performance Schema table log_status provides
        information that enables an online backup tool to
copy
        the required log files without locking those
resources
        for the duration of the copy process. When the
log_status
        table is queried, the server blocks logging and
related
        administrative changes for just long enough to
populate
        the table, then releases the resources. The
log_status
        table informs the online backup which point it
should
        copy up to in the master's binary log and
gtid_executed
        record, and the relay log for each replication
channel.
        It also provides relevant information for individual
        storage engines, such as the last log sequence
number
        (LSN) and the LSN of the last checkpoint taken for
the
        InnoDB storage engine.
        The BACKUP_ADMIN privilege is required for access to
the
        log_status table. (Bug #27599831)

      * Performance Schema objects now have a default character
        set of utf8mb4. (Bug #27407745)

Security Notes


      * yaSSL is no longer included with MySQL distributions.
        wolfSSL may be used as a functionally equivalent
        alternative that has a GPLv2-compatible license. In
        addition, wolfSSL (like OpenSSL) supports the
TLSv1.2
        protocol, which yaSSL does not.
        For instructions about building MySQL from source
using
        wolfSSL, see the extra/README-wolfssl.txt file in a
MySQL
        source distribution. The WITH_SSL CMake option now
        permits wolfssl as a valid value, and no longer
takes
        bundled as a value. To use -DWITH_SSL=wolfssl, you
must
        follow the instructions in README-wolfssl.txt. For
more
        information, see OpenSSL Versus wolfSSL
       
(http://dev.mysql.com/doc/refman/8.0/en/ssl-libraries.html).
        (Bug #26671671)

      * MySQL now supports FIPS mode, if compiled using OpenSSL,
        and an OpenSSL library and FIPS Object Module are
        available at runtime. FIPS mode imposes conditions
on
        cryptographic operations such as restrictions on
        acceptable encryption algorithms or requirements for
        longer key lengths. The ssl_fips_mode system
variable
        enables control of FIPS mode on the server side. The
        --ssl-fips-mode client option enables control of
FIPS
        mode on the client side for these programs: mysql,
        mysqladmin, mysqlbinlog, mysqlcheck, mysqldump,
        mysqlimport, mysqlpump, mysqlshow, mysqlslap,
mysqltest,
        mysqlxtest, mysql_secure_installation, and
mysql_upgrade.
        See FIPS Support
       
(http://dev.mysql.com/doc/refman/8.0/en/fips-mode.html).

Spatial Data Support


      * Incompatible Change: These geometry collection changes
        have been implemented:

           + The standard GeomCollection name
for the geometry
             collection data type
is supported as a synonym for
             the GeometryCollection
data type name.

           + The GeomCollection() function is
supported as a
             synonym for the
GeometryCollection() function.

           + GeomCollection and
GeomCollection() are the
             preferred data type
and function names.
        Incompatibility: As a consequence of the change in
        preferred data type name, some INFORMATION_SCHEMA
tables,
        statements such as SHOW CREATE TABLE, and the
        ST_GeometryType() function that display data type
        information now display GEOMCOLLECTION rather than
        GEOMETRYCOLLECTION. Applications that look for
        GEOMETRYCOLLECTION should be adjusted to account for
this
        change.
        For more information, see GeometryCollection Class
(http://dev.mysql.com/doc/refman/8.0/en/gis-class-geometrycollection.html),
        and MySQL-Specific Functions That
        Create Geometry Values
(http://dev.mysql.com/doc/refman/8.0/en/gis-mysql-specific-functions.html).

sys Schema Notes


      * sys Schema objects now have a default character set of
        utf8mb4. (Bug #27675959)

Test Suite Notes


      * Reduction of compiler and platform differences in GIS
        handling of floating-point results enables
simplification
        of related test cases that no longer need rounding
to
        avoid spurious test failures. Thanks to Daniel Black
for
        the patch. (Bug #26540102, Bug #87223, Bug
#27462294)

X Plugin Notes


      * When using MySQL as a document store, the use of SPATIAL
        indexes on geometry-valued columns using the X
DevAPI is
        now fully supported. Previously, a spatial index
could be
        created, but the spatial reference system identifier
        (SRID) was not included in the indexed column, so
the
        index was not used by the optimizer. The SRID
attribute
        is now added to the indexed column. (Bug #27568243)

      * Socket files used with X Plugin tests are now limited to
        22-character file names. (Bug #27460677, Bug #89464)

      * The fix for Bug #26328274 resulted in an assertion in
        debug builds when an empty host name was used for X
        Plugin connections. The issue is now fixed. (Bug
        #27266584, Bug #88925)

      * X Plugin did not populate the password cache when a user
        account with no password set was used with the PLAIN
        authentication method. This caused later
authentication
        attempts to fail. The password cache is now
correctly
        populated with an entry if the user account's
password is
        empty. (Bug #27257722)

      * X Plugin now supports the RESTART SQL statement, which
        was added in MySQL 8.0.4 to enable a MySQL server
        instance to be restarted from within a client
session.
        (Bug #27245319)

      * MySQL Shell connections using X Protocol can use either
        TCP or Unix sockets as of version 8.0.4. This fix
allows
        the use of encryption protocols with UNIX socket
        connections, so user accounts that require encrypted
        connections are able to connect. (Bug #27192091)

      * The fix for Bug #26647488, which corrected the handling
        of the DATETIME data type, now also correctly
decodes
        messages received from older versions of the plugin
that
        do not have the new field available to identify the
data
        type. (Bug #27169735)

      * X Plugin connection attempts using the X Protocol did not
        return an error when the default database specified
in
        the connection options was invalid, and the
connection
        was allowed with a null default database. Connection
        attempts using the classic MySQL protocol did return
an
        error and disallowed the connection. X Protocol
        connection attempts now also disallow the connection
if
        an invalid schema is specified. (Bug #26965020)

      * X Plugin is now loaded by default, meaning there is no
        longer any need to install the plugin.

Functionality Added or Changed


      * NDB Cluster: INFORMATION_SCHEMA tables now are populated
        with tablespace statistics for MySQL Cluster tables.
(Bug
        #27167728)

      * InnoDB: The ibd2sdi Serialized Dictionary Information
        (SDI) extraction utility for InnoDB tablespaces now
        supports a --pretty option that controls JSON pretty
        print formatting of SDI data. Pretty print
formatting is
        enabled by default. Disabling pretty print
formatting
        using --skip-pretty reduces the size of extracted
SDI
        data. (Bug #27546514)

      * InnoDB: To improve startup performance on systems with
        large buffer pools, buffer pool initialization is
now
        multi-threaded. (Bug #22963374, Bug #80784)

      * InnoDB: The following redo logging optimizations were
        implemented:

           + User threads can now write
concurrently to the log
             buffer without
synchronizing writes.

           + User threads can now add dirty
pages to the flush
             list in a relaxed
order.

           + A dedicated log thread is now
responsible for
             writing the log buffer
to the system buffers,
             flushing system
buffers to disk, notifying user
             threads about written
and flushed redo, maintaining
             the lag required for
the relaxed flush list order,
             and write checkpoints.

           + System variables were added for
configuring the use
             of spin delay by user
threads waiting for flushed
             redo:
                o
innodb_log_wait_for_flush_spin_hwm: Defines the
                 
maximum average log flush time beyond which
                 
user threads no longer spin while waiting for
                 
flushed redo.
                o
innodb_log_spin_cpu_abs_lwm: Defines the
                 
minimum amount of CPU usage below which user
                 
threads no longer spin while waiting for
                 
flushed redo.
                o
innodb_log_spin_cpu_pct_hwm: Defines the
                 
maximum amount of CPU usage above which user
                 
threads no longer spin while waiting for
                 
flushed redo.

           + The innodb_log_buffer_size
configuration option is
             now dynamic, which
permits resizing of the log
             buffer while the
server is running.
        For more information, see Optimizing InnoDB Redo
Logging
(http://dev.mysql.com/doc/refman/8.0/en/optimizing-innodb-logging.html).

      * Solaris: On Solaris, MySQL can now be built with
        Developer Studio 12.6. (Bug #27055190, Bug #88316)

      * Logging during data directory initialization (for
        example, using mysqld --initialize) has changed:

           + The startup message indicates
that the server is
             running in
initialization mode.

           + A message is written indicating
when initialization
             has completed.

           + The message about the CA
certificate being
             self-signed is
suppressed.
        (Bug #27557952, Bug #89693)

      * The -log suffix is no longer appended to the server
        version string if logging is enabled. This affects,
for
        example, the value of the version system variable.
(Bug
        #27532097, Bug #89626)

      * Server shutdown lines written to the error log now
        include the server version. (Bug #27522788, Bug
#87910)

      * SHOW CREATE TABLE normally does not show the ROW_FORMAT
        table option if the row format is the default
format.
        This can cause problems during table import and
export
        operations for transportable tablespaces. MySQL now
        supports a show_create_table_verbosity system
variable
        that, when enabled, causes SHOW CREATE TABLE to
display
        ROW_FORMAT regardless of whether it is the default
        format. (Bug #27516741)

      * Performance Schema memory instrumentation overhead was
        reduced. (Bug #27500610)

      * During data directory initialization, the server created
        objects using sql_mode=''. Now the server uses the
        default sql_mode value (which, among other settings,
        includes strict mode). (Bug #27476029, Bug #89495)

      * The collations defined in mysql-test/std_data/Index.xml
        are for test purposes only and should not be used
        otherwise. Comments were added to the file to make
this
        clear because some users were using them in non-test
        environments. (Bug #27421838)

      * RESET PERSIST no longer performs an implicit commit. (Bug
        #27374791)

      * For a persisted variable, the SET_TIME column of the
        Performance Schema variables_info table now reflects
the
        time at which the variable was persisted, not server
        startup time. (Bug #25677422)

      * Previously, SHOW CREATE TABLE did not show the collation
        for a column if the collation was the same as the
table
        default, even if the collation was explicitly
specified
        at table-creation time. Now, SHOW CREATE TABLE
always
        shows the column collation if the collation was
        explicitly specified, even if the collation is the
same
        as the table default. (Bug #11754608, Bug #46239)


Bugs Fixed


      * Important Change: When NO_ZERO_DATE SQL mode is enabled,
        ALTER TABLE rejects attempts to add DATE or DATETIME
        columns that are declared NOT NULL to a nonempty
table if
        no DEFAULT is specified for that column. Since a
        generated column has no default value, this
restriction
        also prevented addition of a generated DATE NOT NULL
or
        DATETIME NOT NULL column to a nonempty table. Since
the
        expression used to generate the column can be used
in
        place of the missing default for determining the
column
        value, this restriction is now lifted for generated
        columns. (Bug #27252354)

      * Important Change: For ANALYZE TABLE ... UPDATE HISTOGRAM
        statements, the WITH N BUCKETS clause is now
optional. If
        not specified, the default value for BUCKETS is 100.
(Bug
        #89909, Bug #27637968)

      * InnoDB: The server was stopped before a fatal error
        message was written to the error log. (Bug
#27626478)

      * InnoDB: When determining if a wait lock could be granted,
        locks held by victim transactions that were being
rolled
        back were ignored. (Bug #27607235)

      * InnoDB: An error occurred in
        Sdi_Decompressor::decompress() when compiling a
debug
        build using GCC 7.2.0. (Bug #27565889)

      * InnoDB: An assertion was raised when registering buffer
        pool chunks during parallel creation of multiple
buffer
        pools. A mutex is now used to protect registration
of
        buffer pool chunks in the buffer pool chunk map.
(Bug
        #27565865)

      * InnoDB: Enabling the standard monitor caused an error.
        (Bug #27534041)

      * InnoDB: An internal field used to mark a column as hidden
        was changed from a boolean field to an enum field to
        support additional levels of column visibility. (Bug
        #27499518, Bug #89553)

      * InnoDB: An invalid zlib-related Valgrind failure reported
        that a conditional jump or move depends on
uninitialized
        value. (Bug #27482740, Bug #89509)

      * InnoDB: An incorrect GROUP BY result was returned when
        using the TempTable storage engine and a NO PAD
        collation. (Bug #27454796)

      * InnoDB: An incorrect compression length value in a page
        compression function caused hole punching to be
skipped
        the first time pages are compressed. (Bug #27399897)

      * InnoDB: Starting the server with an incorrect --log-bin
        option value raised an assertion, and subsequent
attempts
        to start the server with a correct --log-bin value
or
        without the --log-bin option continued to produce
        assertion failures. (Bug #27393317)

      * InnoDB: A large object (LOB) reference was not updated
        when a LOB was inserted during an UPDATE operation.
(Bug
        #27368662)

      * InnoDB: After restarting the server, a TRUNCATE TABLE
        operation raised an assertion due to table flags
that
        were inconsistent with remote data directory
information
        stored in memory. (Bug #27367639)

      * InnoDB: Attempting to create a temporary table in a
        file-per-table tablespace using CREATE TEMPORARY
TABLE
        ... TABLESPACE syntax failed to report an error.
        Temporary tablespaces are only permitted in the
temporary
        tablespace. (Bug #27361662)

      * InnoDB: A latch taken on the first page of a large object
        (LOB) was not released before another thread
attempted to
        allocate the page, causing a deadlock. (Bug
#27360492)

      * InnoDB: Converting an implicit lock to an explicit lock
        was optimized by the introduction of a member
variable
        that tracks the smallest active transaction ID.
        Thanks to Zhai Weixiang for the patch. (Bug
#27353468,
        Bug #89127)

      * InnoDB: The mysql.innodb_ddl_log and
        mysql.innodb_dynamic_metadata tables, which are used
        internally by the InnoDB storage engine, are now
        protected. DDL and DML operations on these tables
are no
        longer permitted, and the tables no longer appear in
        INFORMATION_SCHEMA query results. (Bug #27353455,
Bug
        #89129)

      * InnoDB: Upgrading a MySQL 5.7 instance with an
        innodb_page_size setting of 4K caused mysql_upgrade
to
        fail with a "Specified key was too long; max key
length
        is 768 bytes" error when creating or modifying
system
        tables. The error was suppressed to permit the
        mysql_upgrade client to run on an instance with an
        innodb_page_size setting of 4K. (Bug #27338431)

      * InnoDB: The recovery process could not properly determine
        space_id values, causing the server to exit. (Bug
        #27331936)

      * InnoDB: An ALTER TABLE operation that modified the
        nullability of an indexed column raised an
assertion.
        InnoDB incorrectly assumed that a new primary key
must be
        added instead of created from an existing unique
key.
        (Bug #27330454, Bug #89087)
        References: This issue is a regression of: Bug
#24397406.

      * InnoDB: After an ALTER TABLE ... IMPORT TABLESPACE
        operation, metadata could not be retrieved correctly
from
        the INFORMATION_SCHEMA.INNODB_COLUMNS table. (Bug
        #27322099)

      * InnoDB: An INSERT operation involving a large object
        (LOB) value raised an assertion. After splitting a
LOB
        fragment, there was insufficient space for a
directory
        entry. (Bug #27320977)

      * InnoDB: On a server using the utf8mb4 character set, an
        INSERT or UPDATE during an ALTER TABLE operation
that
        changed the row format of a table that included a
virtual
        column caused an index corruption. (Bug #27319084)

      * InnoDB: The data retrieved from
        INFORMATION_SCHEMA.INNODB_COLUMNS was incorrect for
        tables containing a virtual column. (Bug #27316037)

      * InnoDB: The server failed to start after recovery due to
        an invalid keyring file. The keyring file created
from
        backup was empty. (Bug #27307740)

      * InnoDB: A deadlock between background threads, one
        attempting to evict a full-text search table from
the
        cache, and the other attempting to synchronize a
table,
        caused InnoDB Cluster nodes to fail. (Bug #27304661)

      * InnoDB: A typo was corrected in an InnoDB recovery
        message. Thanks to Daniël van Eeden for the
patch. (Bug
        #27287979, Bug #27010613, Bug #88185)

      * InnoDB: A message stating that encryption algorithm
        support is missing was reported during InnoDB
recovery.
        (Bug #27286020)

      * InnoDB: A missing or mismatched keyring file caused an
        assertion failure at startup. (Bug #27278324)

      * InnoDB: An error was returned indicating that encryption
        support was missing when checking the space ID of an
        encrypted tablespace file. (Bug #27278100)

      * InnoDB: A debug message that prints a "too many open
        files" warning is now only printed if the number of
open
        files reaches a limit of 300. (Bug #27277844)

      * InnoDB: Failure to skip predicate locks when releasing
        gaps locks raised debug assertions, as did failure
to
        remove the supremum record bit prior releasing gaps
locks
        on the supremum. (Bug #27272806, Bug #27294066)

      * InnoDB: A tablespace ID discovery failure occurred when
        starting the server on a cloned data directory. (Bug
        #27265874)

      * InnoDB: An unprotected global variable
        (fil_n_file_opened) caused an assertion when
shutting
        down the server. (Bug #27265473)

      * InnoDB: An assertion that is no longer valid was raised
        when checking for pending I/O on the file in use.
(Bug
        #27263206)

      * InnoDB: An empty general tablespace caused a failure when
        upgrading to MySQL 8.0. The empty data file was
expected
        to have a specific number of pages. (Bug #27261822)

      * InnoDB: A startup failure occurred because a directory
        specified by the --innodb-directories option
contained a
        keyring data file. The --innodb-directories option
should
        only recognize InnoDB tablespace files. (Bug
#27253116)

      * InnoDB: A function that calculates the increase in
        minimum bounding rectangle (MBR) size incorrectly
        returned 0, resulting in R-tree corruption. (Bug
        #27237472)

      * InnoDB: A REPLACE operation on a temporary table raised
        an assertion. (Bug #27225649)

      * InnoDB: An online ALTER TABLE operation on a table
        accompanied by concurrent DML on the same table
raised an
        assertion. An end-of-log check was not performed
prior to
        accessing the DML log to determine the length of a
        virtual column. (Bug #27158030)

      * InnoDB: When the addition of a virtual index failed, the
        virtual index that was freed was not removed from
the
        lists of virtual column indexes. (Bug #27141613)

      * InnoDB: Adding a virtual column and index in the same
        statement caused an error. (Bug #27122803)

      * InnoDB: An undo tablespace truncate operation raised an
        assertion. The check that determines if undo
tablespace
        segments are inactive was invalid. (Bug #27114068)

      * InnoDB: When the TempTable storage engine was unable to
        allocate memory using temporary files and mmap, an
        invalid error was reported indicating that the
defined
        on-disk storage engine would be used instead. (Bug
        #26990375)

      * InnoDB: A tablespace import operation on a server with a
        default row format of REDUNDANT raised an assertion
        failure. (Bug #26960215)

      * InnoDB: A stored field based on a generated column
        permitted the base column to have a NULL value. (Bug
        #26958695)

      * InnoDB: Evaluation of a subquery in a resolving function
        raised an assertion. (Bug #26909960)

      * InnoDB: Locks related to data dictionary operations
        caused a degradation in CREATE TABLE performance.
(Bug
        #26848711, Bug #87827)

      * InnoDB: A LOCK INSTANCE FOR BACKUP operation was able to
        acquire a backup lock without waiting for a
concurrent
        DDL operation to finish. (Bug #26831155, Bug #87812)

      * InnoDB: An incorrectly specified innodb_data_file_path or
        innodb_temp_data_file_path value returned a syntax
error
        that did not specify the name of the system variable
that
        caused the initialization failure. (Bug #26805833)

      * InnoDB: An handler that was opened for a TRUNCATE TABLE
        operation caused the operation to assert. The server
now
        closes open handlers before dropping the table.
        The patch for this bug also improves TRUNCATE TABLE
error
        messages related to foreign key constraints, and
makes it
        possible to truncate a corrupted table. (Bug
#26710839)

      * InnoDB: An online DDL operation that rebuilds the table
        raised an assertion when the last insert log record
to be
        applied was split across two pages. (Bug #26696448,
Bug
        #87532)

      * InnoDB: An assertion was raised when attempting to
        generate a virtual column value dependent on an
off-page
        large object value that was not yet stored. (Bug
        #26625652)

      * InnoDB: An R-tree search counted delete-marked records,
        causing it to find more records than present in the
        clustered index. As result, the valid R-tree index
was
        marked as corrupted. (Bug #26381207)

      * InnoDB: A RENAME TABLE operation that renamed the schema
        failed to rename full-text search common auxiliary
tables
        that were left behind when the full-text search
index was
        removed previously, resulting in a assertion failure
when
        attempting to drop the old schema. (Bug #26334149)

      * InnoDB: An assertion was raised when a thread attempted
        to read a record containing BLOB data while another
        thread was writing the same data to external pages.
(Bug
        #26300119)
        References: This issue is a regression of: Bug
#23481444.

      * InnoDB: Column prefixes for externally stored columns
        exceeded the amount of available memory in the
online
        log. (Bug #25928471)

      * InnoDB: A problematic lock that was introduced to protect
        writing of dynamic metadata changes to the redo log
        during a checkpoint was removed. A mutex is now used
        instead. The checkpoint LSN was also adjusted to
protect
        dynamic metadata changes. (Bug #25834374)

      * InnoDB: InnoDB failed to account for a virtual column
        when using the column offset to search an index for
an
        auto-increment column. (Bug #25076416)

      * InnoDB: An invalid debug condition caused a buffer pool
        chunk allocation failure, which resulted in an
assertion
        failure when a purge thread attempted to access an
        unallocated chunk. (Bug #23593654)
        References: This issue is a regression of: Bug
#21348684.

      * InnoDB: Threads were prevented from entering the InnoDB
        storage engine due to ticket acquisition deadlocks.
(Bug
        #23476050)

      * Partitioning: An error returned by the storage engine
        while executing ALTER TABLE EXCHANGE PARTITION was
not
        handled correctly by the server. (Bug #27320682)

      * Replication: When MySQL was started with
        --plugin-load='group_replication.so' but Group
        Replication was not started, starting an
asynchronous
        slave channel resulted in an unresponsive server.
(Bug
        #27584141)

      * Replication: Empty XA transactions that have been rolled
        back should not be recorded in the binary log or
added to
        the set of transactions in the gtid_executed system
        variable. However, if rolled-back empty XA
transactions
        were executed after an empty XA transaction ending
with
        an XA COMMIT ... ONE PHASE statement, they were
being
        incorrectly added to the binary log as an XA
ROLLBACK
        statement, and also to the gtid_executed system
variable.
        The issue is now fixed. (Bug #27435974)

      * Replication: The Group Replication files have been moved
        from the rapid directory to the plugin directory.
(Bug
        #27413789)

      * Replication: When the system variable gtid_next was set
        to AUTOMATIC, empty XA transactions that were rolled
back
        and not recorded in the binary log, were being
        incorrectly added to the set of transactions in the
        gtid_executed system variable, causing an
inconsistency.
        The rolled-back empty XA transactions are no longer
        recorded in gtid_executed. (Bug #27407670)

      * Replication: Group Replication conflict detection uses
        schema and table names as part of the Primary Key
        Equivalent (PKE) in order to detect and disallow
        conflicting transactions. The value of the
        lower_case_table_names system variable changes how
schema
        and table names are stored and externalized, which
        depending on the configured value could persist a
table
        named T1 as t1. Such a difference in a group could
cause
        inconsistencies. Now, members must all have the same
        value for lower_case_table_names. (Bug #27401817)

      * Replication: Using an IP address or hostname in any Group
        Replication related configuration on macOS was
failing.
        (Bug #27376511)

      * Replication: Changing the Group Replication required
        settings incorrectly on online secondary members
could
        result in an unexpected halt. (Bug #27317478, Bug
        #27157202)

      * Replication: The value of LAST_CONFLICT_FREE_TRANSACTION
        in the replication_group_member_stats Performance
Schema
        table was not correctly synchronized across group
        members. (Bug #27317431)

      * Replication: After issuing START GROUP_REPLICATION the
        gtid_mode system variable is locked to prevent any
        modification to its value until the group is online.
Any
        attempt to modify gtid_mode during this time is
blocked.
        As part of the process of starting Group Replication
the
        server needs to set super_read_only=off, which has
        dependencies on locks acquired by SET GTID_MODE.
This
        could result in Group Replication hanging and there
was
        no possibility to connect to the server to resolve
the
        situation. To prevent this situation, when it is not
        possible to acquire the locks needed by SET
GTID_MODE the
        operation aborts. (Bug #27312241)

      * Replication: When a member is joining a group there is a
        chance of the request to join being rejected. If the
        rejection resulted in a retry, for example because
the
        seed member being contacted was not in the group,
then
        there was a possibility of the retry cycle
continuing
        infinitely. (Bug #27294009)

      * Replication: In the unlikely event of the group failing
        to start, for example because no seed member could
be
        contacted, there is a one minute period where the
group
        retries the start process. Attempting to modify a
Group
        Replication plugin option during this period could
result
        in an unexpected halt. Now, attempting to modify a
Group
        Replication plugin option during plugin start or
stop
        results in error. (Bug #27275312)

      * Replication: The default binary log expiration period of
        30 days is now set as the default for the
        binlog_expire_logs_seconds system variable, instead
of
        the deprecated expire_logs_days system variable.
        binlog_expire_logs_seconds now defaults to a value
of
        2592000 (30*24*60*60 seconds), and expire_logs_days
now
        defaults to zero.
        In MySQL 8.0.3 and 8.0.4, the effects of
        binlog_expire_logs_seconds and expire_logs_days were
        cumulative. From MySQL 8.0.11, this is no longer the
        case, and the new behavior is as follows:

           + If you specify a non-zero value
for both variables,
             only the value of
binlog_expire_logs_seconds is used
             to determine the
binary log expiration period, and
             the value of
expire_logs_days is ignored.

           + If you specify a non-zero value
for only one
             variable, that value
is used to determine the binary
             log expiration period,
and the default for the other
             is not applied.

           + If you specify a value for
neither of the variables,
             the default of 30 days
from
            
binlog_expire_logs_seconds is used as the binary log
             expiration period.
        An error message is issued if you attempt to set one
of
        the variables dynamically when the other is already
set,
        and a warning message is issued if you specify a
non-zero
        value for both variables at startup. A deprecation
        warning is also issued if you set a value for
        expire_logs_days.
        To disable automatic purging of the binary log,
specify a
        value of 0 explicitly for
binlog_expire_logs_seconds, and
        do not specify a value for expire_logs_days. For
        compatibility with earlier releases, automatic
purging is
        also disabled if you specify a value of 0 explicitly
for
        expire_logs_days and do not specify a value for
        binlog_expire_logs_seconds. In that case, the
default for
        binlog_expire_logs_seconds is not applied. You no
longer
        need to set both variables to zero to disable
automatic
        purging. (Bug #27252658)

      * Replication: Attempting to uninstall the Group
        Replication plugin on a server configured to start
the
        plugin automatically at boot could result in a
deadlock.
        Now, the uninstall process checks to ensure that the
        plugin is not in the process of starting and fails
        gracefully if it is. (Bug #27179336)

      * Replication: The DDL statements CREATE DATABASE, ALTER
        DATABASE, and DROP DATABASE are no longer allowed to
        execute in parallel with other statements on a
        multi-threaded slave. These statements require an
        exclusive metadata lock on the schema, causing a
        theoretical possibility of a deadlock when
        slave_preserve_commit_order=1 is set on the
replication
        slave. (Bug #27165446)

      * Replication: On a replication slave with binary logging
        disabled, an empty DDL statement (for example, due
to a
        replication filter) raised an assertion. With binary
        logging enabled, BEGIN and COMMIT statements would
be
        written to the binary log to produce a transaction,
but
        these statements were not available with binary
logging
        disabled, causing the assertion. MySQL Server now
checks
        for the situation where the DDL transaction is empty
and
        is not marked as started, and handles it without
raising
        the assertion. (Bug #27164661)


[ to be continued ]

Thread
MySQL Community Server 8.0.11 has been released (part 1/2)Balasubramanian Kandasamy19 Apr