MySQL Forums
Forum List  »  Announcements

MySQL Community Server 5.7.31 has been released
Posted by: Gipson Pulla
Date: July 13, 2020 05:45AM

Dear MySQL users,

MySQL Server 5.7.31, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.7.31 is
recommended for use on production systems.

For an overview of what's new in MySQL 5.7, please see

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

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

MySQL Server 5.7.31 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:

5.7.31 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 5.7 since
the release of MySQL 5.7.30. It may also be viewed
online at


Changes in MySQL 5.7.31 (2020-07-13, General Availability)

Configuration Notes

     * tcmalloc is no longer a permitted value for the
       mysqld_safe --malloc-lib option. (Bug #31372027)

Packaging Notes

     * The libevent library bundled with MySQL was upgraded to
       version 2.1.11. (Bug #30926742)

Security Notes

     * The linked OpenSSL library for MySQL Server has been
       updated to version 1.1.1g. Issues fixed in the new
       OpenSSL version are described at and (Bug

Bugs Fixed

     * InnoDB: The INNODB_METRICS table AVG_COUNT_RESET value
       for a counter defined as a module owner reported NULL.
       The METRIC_AVG_VALUE_RESET field was incorrectly marked
       as NULL.
       Thanks to Fungo Wang for the contribution. (Bug
       #31084706, Bug #98990)

     * InnoDB: Purge thread activity was excessive when the
       history list length approached zero, wasting CPU resource
       and causing mutex contention. (Bug #30875956)

     * InnoDB: The server failed intermittently with an "ibuf
       cursor restoration fails" error. (Bug #30770380, Bug

     * InnoDB: A fatal "page still fixed or dirty" error
       occurred during shutdown. (Bug #29759555, Bug #95285)
       References: This issue is a regression of: Bug

     * Partitioning: A query against a partitioned table, which
       used an ORDER BY, returned unordered results under the
       following conditions:

          + The table had a composite index with a prefix on one
            of the columns.

          + The query's WHERE clause contained an equality
            condition on the prefixed column.

          + The column with the prefix was the leftmost column
            in the index.

          + The column used in the ORDER BY was the rightmost
            column in the index.

          + The index was used for handling the ORDER BY.
       Our thanks to Quanan Han for the contribution. (Bug
       #84070, Bug #25207522)

     * Replication: When a replication source server shuts down
       and restarts, its MEMORY tables become empty. To
       replicate this effect to replicas, the first time that
       the source uses a given MEMORY table after startup, it
       notifies replicas that the table must be emptied by
       writing a DELETE statement for that table to the binary
       log. Previously, the generated DELETE statement was
       written to the binary log statement cache for the current
       session, which could result in it being logged together
       with other statements under the same GTID, or logged
       without BEGIN and COMMIT statements. Also, in some
       situations, the generated DELETE statement could consume
       the GTID intended for the transaction that triggered it.
       The generated DELETE statement is now logged with
       accompanying BEGIN and COMMIT statements, and the
       resulting transaction is flushed to the binary log
       immediately after it is written to the statement cache,
       so that it always receives its own GTID and is kept
       separate from other transactions. (Bug #30527929, Bug
       #25681518, Bug #77729)

     * Replication: Internal queries from Group Replication to
       the Performance Schema for statistics on local group
       members failed if they occurred simultaneously with
       changes to the group's membership. Locking for the
       internal queries has been improved to fix the issue. (Bug
       #30049349, Bug #30791583, Bug #30963553)

     * Replication: A fix made in MySQL 8.0.14 and MySQL 5.7.25
       for a deadlock scenario involving the system variables
       binlog_transaction_dependency_tracking and
       binlog_transaction_dependency_history_size had the side
       effect of leaving the writeset history used for
       transaction dependency tracking unprotected from
       concurrent update. The writeset history and tracking mode
       are now locked correctly whenever they are accessed. (Bug
       #29719364, Bug #95181)
       References: See also: Bug #28511326, Bug #91941.

     * Configuring with -DWITH_EDITLINE=system resulted in
       compilation failures for older library versions. (Bug

     * The upgrade of the bundled libedit library in the
       previous MySQL distribution caused a problem for builds
       using that library such that CTRL+C (SIGINT) in the mysql
       client required a following Enter to take effect in some
       circumstances. (Bug #31360025)

     * Assigning CONCAT('') or CONCAT_WS('') to a variable set
       the variable to NULL, not the empty string. (Bug
       #31320716, Bug #99485)

     * The gen_range() user-defined function could mishandle its
       arguments, causing a server exit. (Bug #30763294)

     * During UPDATE processing, conversion of an internal
       in-memory table to InnoDB could result in a key-length
       error. (Bug #30674616)

     * It is possible to define a column named * (single
       asterisk character), but SELECT `*` was treated
       identically to SELECT *, making it impossible to select
       only this column in a query; in other words, the asterisk
       character was expanded to a list of all table columns
       even when it was surrounded by backticks. (Bug #30528450)

     * Privileges on the INFORMATION_SCHEMA.FILES table were
       being checked incorrectly. (Bug #30350829)

     * An internal packet-length function returned values of the
       wrong integer type. (Bug #30139031)

     * Calculations by mysqldump for the length of INSERT
       statements did not take into account the _binary
       character set introducer used for VARBINARY strings. (Bug
       #29998457, Bug #96053)

     * mysql_store_result() could fail to detect invalid data
       packets. (Bug #29921423)

     * In a multiple-table UPDATE that updated the key of the
       first table, if a temporary table strategy was used,
       duplicate entries could be written to the temporary
       table, followed by occurrence of a Can't find record
       error. (Bug #28716103)

     * The optimizer could attempt to access a pseudo table as a
       table, resulting in unexpected server behavior. (Bug

     * The server sometimes mistakenly removed a subquery with a
       GROUP BY when optimizing a query, even in some cases when
       this subquery was used by an outer select. This could
       occur when the subquery also used an aggregate function.
       (Bug #28240054)

     * Coercibility of the NAME_CONST() function was assessed
       incorrectly. (Bug #26319675)

     * Incorrect results could occur when the optimizer chose an
       index on a generated column to fetch values. (Bug
       #24345509, Bug #29451999)

On Behalf of MySQL/ORACLE RE Team
Gipson Pulla

Options: ReplyQuote

Written By
MySQL Community Server 5.7.31 has been released
July 13, 2020 05:45AM

Sorry, you do not have permission to post/reply in this forum.

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.