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

For information on installing MySQL 8.0.11 on new servers, please see
the MySQL installation documentation at

MySQL Server 8.0.11 is available in source and binary form for a number of
platforms from our download pages at

MySQL Server 8.0.11 is also available from our repository for Linux
platforms, go here for details:

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:

8.0.11 also comes with a web installer as an alternative to the full

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.:

The following link lists the changes in the MySQL 8.0 since the
the release of MySQL 8.0.4.


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


    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


      * 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
        become a reference to utf8mb4. To avoid ambiguity
        the meaning of utf8, consider specifying utf8mb4
        explicitly for character set references instead of

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.
        might find it necessary to install libtirpc and
rpcgen to
        take advantage of this CMake feature.) (Bug
        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
        at set paths. If this was not the case, building the
        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
        existing WITH_BOOST CMake option. Set WITH_ANT to
        path of a directory where the Ant tarball, or an
        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
        such as the Google Test distribution. Now, when
        ENABLE_DOWNLOADS is set, and JUnit or Ant are not
        they are downloaded as part of the build process.

Configuration Notes

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

      * systemd service files now increase LimitNOFILE to 10000,
        to accommodate higher default settings in MySQL 8.0.

      * The new WITH_SYSTEM_LIBS CMake option, when enabled,
        selects the system value for any of the following
        that are not set explicitly: WITH_EDITLINE,
        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
        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,
        NO_KEY_OPTIONS, NO_TABLE_OPTIONS. They can no longer
        assigned to the sql_mode system variable or used as
        permitted values for the mysqldump --compatible
        Removal of MAXDB means that the TIMESTAMP data type
        CREATE TABLE or ALTER TABLE is no longer treated as
        For MySQL 5.7 applications that use SQL modes
removed in
        MySQL 8.0, statements may fail when replicated from
        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
        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
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

'hash_string' syntax for
             CREATE USER and GRANT.
             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
             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('auth_string') syntax is no longer

           + The old_passwords system
        For MySQL 5.7 applications that use features removed
        MySQL 8.0, statements may fail when replicated from
        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
        8.0 should be revised to avoid them and use
        when possible. (Bug #27455708)


      * The new INFORMATION_SCHEMA.KEYWORDS table lists the words
        considered keywords by MySQL and, for each one,
        whether it is reserved. This table provides
        a runtime source of MySQL keyword information. See
        In addition, if you build MySQL from source, the
        process generates a keyword_list.h header file
        a array of keywords and their reserved status. This
        can be found in the sql directory under the build
        directory. This file may be useful for applications
        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
        values are InnoDB (the InnoDB storage engine), Repl
        replication subsystem), Server (otherwise).

Packaging Notes

      * Installing or upgrading using Debian packages now
        presents a dialog with an option for setting the
        authentication plugin to mysql_native_password. This
        be useful for backward compatibility at some
        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

Performance Schema Notes

      * A new Performance Schema table log_status provides
        information that enables an online backup tool to
        the required log files without locking those
        for the duration of the copy process. When the
        table is queried, the server blocks logging and
        administrative changes for just long enough to
        the table, then releases the resources. The
        table informs the online backup which point it
        copy up to in the master's binary log and
        record, and the relay log for each replication
        It also provides relevant information for individual
        storage engines, such as the last log sequence
        (LSN) and the LSN of the last checkpoint taken for
        InnoDB storage engine.
        The BACKUP_ADMIN privilege is required for access to
        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
        protocol, which yaSSL does not.
        For instructions about building MySQL from source
        wolfSSL, see the extra/README-wolfssl.txt file in a
        source distribution. The WITH_SSL CMake option now
        permits wolfssl as a valid value, and no longer
        bundled as a value. To use -DWITH_SSL=wolfssl, you
        follow the instructions in README-wolfssl.txt. For
        information, see OpenSSL Versus wolfSSL
        (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
        cryptographic operations such as restrictions on
        acceptable encryption algorithms or requirements for
        longer key lengths. The ssl_fips_mode system
        enables control of FIPS mode on the server side. The
        --ssl-fips-mode client option enables control of
        mode on the client side for these programs: mysql,
        mysqladmin, mysqlbinlog, mysqlcheck, mysqldump,
        mysqlimport, mysqlpump, mysqlshow, mysqlslap,
        mysqlxtest, mysql_secure_installation, and
        See FIPS Support

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
        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
        For more information, see GeometryCollection Class
        and MySQL-Specific Functions That
        Create Geometry Values

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
        of related test cases that no longer need rounding
        avoid spurious test failures. Thanks to Daniel Black
        the patch. (Bug #26540102, Bug #87223, Bug

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
        index was not used by the optimizer. The SRID
        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
        attempts to fail. The password cache is now
        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
        (Bug #27245319)

      * MySQL Shell connections using X Protocol can use either
        TCP or Unix sockets as of version 8.0.4. This fix
        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
        messages received from older versions of the plugin
        do not have the new field available to identify the
        type. (Bug #27169735)

      * X Plugin connection attempts using the X Protocol did not
        return an error when the default database specified
        the connection options was invalid, and the
        was allowed with a null default database. Connection
        attempts using the classic MySQL protocol did return
        error and disallowed the connection. X Protocol
        connection attempts now also disallow the connection
        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.

      * 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
        using --skip-pretty reduces the size of extracted
        data. (Bug #27546514)

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

      * InnoDB: The following redo logging optimizations were

           + 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

           + 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
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.
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.
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

      * 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
        (Bug #27557952, Bug #89693)

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

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

      * SHOW CREATE TABLE normally does not show the ROW_FORMAT
        table option if the row format is the default
        This can cause problems during table import and
        operations for transportable tablespaces. MySQL now
        supports a show_create_table_verbosity system
        that, when enabled, causes SHOW CREATE TABLE to
        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
        clear because some users were using them in non-test
        environments. (Bug #27421838)

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

      * For a persisted variable, the SET_TIME column of the
        Performance Schema variables_info table now reflects
        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
        default, even if the collation was explicitly
        at table-creation time. Now, SHOW CREATE TABLE
        shows the column collation if the collation was
        explicitly specified, even if the collation is the
        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
        also prevented addition of a generated DATE NOT NULL
        DATETIME NOT NULL column to a nonempty table. Since
        expression used to generate the column can be used
        place of the missing default for determining the
        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.
        #89909, Bug #27637968)

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

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

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

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

      * 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
        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
        the first time pages are compressed. (Bug #27399897)

      * InnoDB: Starting the server with an incorrect --log-bin
        option value raised an assertion, and subsequent
        to start the server with a correct --log-bin value
        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.

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

      * InnoDB: Attempting to create a temporary table in a
        file-per-table tablespace using CREATE TEMPORARY
        ... TABLESPACE syntax failed to report an error.
        Temporary tablespaces are only permitted in the
        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

      * InnoDB: Converting an implicit lock to an explicit lock
        was optimized by the introduction of a member
        that tracks the smallest active transaction ID.
        Thanks to Zhai Weixiang for the patch. (Bug
        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,

      * InnoDB: Upgrading a MySQL 5.7 instance with an
        innodb_page_size setting of 4K caused mysql_upgrade
        fail with a "Specified key was too long; max key
        is 768 bytes" error when creating or modifying
        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

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

        operation, metadata could not be retrieved correctly

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

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

      * InnoDB: The data retrieved from
        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
        backup was empty. (Bug #27307740)

      * InnoDB: A deadlock between background threads, one
        attempting to evict a full-text search table from
        cache, and the other attempting to synchronize a
        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
        (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
        files reaches a limit of 300. (Bug #27277844)

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

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

      * InnoDB: An unprotected global variable
        (fil_n_file_opened) caused an assertion when
        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.

      * InnoDB: An empty general tablespace caused a failure when
        upgrading to MySQL 8.0. The empty data file was
        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
        only recognize InnoDB tablespace files. (Bug

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

      * 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
        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
        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
        on-disk storage engine would be used instead. (Bug

      * 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

      * 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.
        #26848711, Bug #87827)

      * InnoDB: A LOCK INSTANCE FOR BACKUP operation was able to
        acquire a backup lock without waiting for a
        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
        that did not specify the name of the system variable
        caused the initialization failure. (Bug #26805833)

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

      * 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,

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

      * 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
        marked as corrupted. (Bug #26381207)

      * InnoDB: A RENAME TABLE operation that renamed the schema
        failed to rename full-text search common auxiliary
        that were left behind when the full-text search
index was
        removed previously, resulting in a assertion failure
        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.
        References: This issue is a regression of: Bug

      * InnoDB: Column prefixes for externally stored columns
        exceeded the amount of available memory in the
        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
        dynamic metadata changes. (Bug #25834374)

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

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

      * InnoDB: Threads were prevented from entering the InnoDB
        storage engine due to ticket acquisition deadlocks.

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

      * Replication: When MySQL was started with
        --plugin-load='' but Group
        Replication was not started, starting an
        slave channel resulted in an unresponsive server.

      * 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
        were executed after an empty XA transaction ending
        an XA COMMIT ... ONE PHASE statement, they were
        incorrectly added to the binary log as an XA
        statement, and also to the gtid_executed system
        The issue is now fixed. (Bug #27435974)

      * Replication: The Group Replication files have been moved
        from the rapid directory to the plugin directory.

      * Replication: When the system variable gtid_next was set
        to AUTOMATIC, empty XA transactions that were rolled
        and not recorded in the binary log, were being
        incorrectly added to the set of transactions in the
        gtid_executed system variable, causing an
        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
        and table names are stored and externalized, which
        depending on the configured value could persist a
        named T1 as t1. Such a difference in a group could
        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
        (Bug #27376511)

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

      * Replication: The value of LAST_CONFLICT_FREE_TRANSACTION
        in the replication_group_member_stats Performance
        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.
        attempt to modify gtid_mode during this time is
        As part of the process of starting Group Replication
        server needs to set super_read_only=off, which has
        dependencies on locks acquired by SET GTID_MODE.
        could result in Group Replication hanging and there
        no possibility to connect to the server to resolve
        situation. To prevent this situation, when it is not
        possible to acquire the locks needed by SET
        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
        seed member being contacted was not in the group,
        there was a possibility of the retry cycle
        infinitely. (Bug #27294009)

      * Replication: In the unlikely event of the group failing
        to start, for example because no seed member could
        contacted, there is a one minute period where the
        retries the start process. Attempting to modify a
        Replication plugin option during this period could
        in an unexpected halt. Now, attempting to modify a
        Replication plugin option during plugin start or
        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
        the deprecated expire_logs_days system variable.
        binlog_expire_logs_seconds now defaults to a value
        2592000 (30*24*60*60 seconds), and expire_logs_days
        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
binlog_expire_logs_seconds is used as the binary log
             expiration period.
        An error message is issued if you attempt to set one
        the variables dynamically when the other is already
        and a warning message is issued if you specify a
        value for both variables at startup. A deprecation
        warning is also issued if you set a value for
        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
        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
        need to set both variables to zero to disable
        purging. (Bug #27252658)

      * Replication: Attempting to uninstall the Group
        Replication plugin on a server configured to start
        plugin automatically at boot could result in a
        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
        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
        written to the binary log to produce a transaction,
        these statements were not available with binary
        disabled, causing the assertion. MySQL Server now
        for the situation where the DDL transaction is empty
        is not marked as started, and handles it without
        the assertion. (Bug #27164661)

[ to be continued ]

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