MySQL Lists are EOL. Please join:

List:General Discussion« Previous MessageNext Message »
From:Surabhi Bhat Date:January 21 2019 4:51pm
Subject:MySQL Community Server 5.7.25 has been released
View as plain text  
Dear MySQL users,

MySQL Server 5.7.25, a new version of the popular Open Source Database
Management System, has been released. MySQL 5.7.25 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.25 on new servers, please see
the MySQL installation documentation at

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

MySQL Server 5.7.25 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.25 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

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.24. It may also be viewed online at


Changes in MySQL 5.7.25 (2019-01-21, General Availability)

      * Deprecation and Removal Notes

      * Pluggable Authentication

      * Security Notes

      * Functionality Added or Changed

      * Bugs Fixed

Deprecation and Removal Notes

      * The resolveip and resolve_stack_dump utilities are now
        deprecated and will be removed in MySQL 8.0.
nslookup, host, or
        dig can be used instead of resolveip. Stack traces
from official
        MySQL builds are always symbolized, so there is no
need to use

Pluggable Authentication

      * If the LDAP port number is configured as 636 or 3269, the
        plugin now uses LDAPS (LDAP over SSL) instead of
LDAP.  The port
        number is settable using the
        or authentication_ldap_simple_server_port system
        (LDAPS differs from startTLS.) (Bug #28743563)

      * Previously, for LDAP authentication with proxying, LDAP
        authentication plugins used the first group name
returned by the
        LDAP server as the MySQL proxy user account
name.  The
        authentication string for a MySQL account now can
specify a list
        of groups to match, in preference order, and can
optionally map
        the matching group name to a specified MySQL proxy
user name. See
        LDAP Pluggable Authentication

Security Notes

      * The linked OpenSSL library for the MySQL Commercial
        Server has been updated to version 1.0.2q. Issues
fixed in the
        new OpenSSL version are described at This change
        does not affect the Oracle-produced MySQL Community
build of
        MySQL Server, which uses the yaSSL library instead.

Functionality Added or Changed

      * Microsoft Windows: The access control granted to clients
        on the named pipe created by the MySQL server now is
set to the
        minimum necessary for successful communication on
Windows. Newer
        MySQL client software can open named pipe
connections without any
        additional configuration. If older client software
cannot be
        upgraded immediately, the new
named_pipe_full_access_group server
        system variable can be used to give a Windows group
the necessary
        permissions to open a named pipe connection.
Membership in the
        full-access group should be restricted and

Bugs Fixed

      * InnoDB: A dangling pointer caused a memory leak. (Bug

      * InnoDB: An ON DELETE CASCADE operation on table with a
        foreign key constraint and an indexed virtual column
caused the
        server to exit. (Bug #28470805)

      * InnoDB: An incorrectly written DML log involving a
        virtual column value raised an assertion. (Bug

      * InnoDB: Using the O_DIRECT_NO_FSYNC innodb_flush_method
        setting could cause the system to hang due to file
        metadata becoming unsynchronized. To prevent this
issue from
        occurring in O_DIRECT_NO_FSYNC mode, InnoDB now
calls fsync()
        after creating a new file, after increasing file
size, and after
        closing a file. The fsync() system call is still
skipped after
        each write operation.  With the changes
described above,
        O_DIRECT_NO_FSYNC mode can now be safely used on
EXT4 and XFS
        file systems. (Bug #27309336)

      * InnoDB: An assertion was raised when attempting to write
        to a tablespace file greater than 4GB in size on a
64-bit Windows
        system. The failure was due to a narrowing
cast.  (Bug #26636815,
        Bug #87423)

      * Partitioning: Repeated ALTER TABLE statements on
        partitioned tables containing BLOB or TEXT columns
were not
        always handled correctly. (Bug #28491099)

      * Partitioning: ALTER TABLE ... EXCHANGE PARTITION did not
        work when the partitioned table had one or more
        definitions using the DATA DIRECTORY option. This
fix supports
        partitioned tables using the InnoDB storage engine
only. (Bug

      * Replication: When adding a new member to a group, if the
        certification information was too big to transmit,
an event was
        generated that caused failures in all group members.
To avoid
        this situation, now if the certification information
is too large
        an error is generated which makes the joining member
leave the
        group.  (Bug #28900691, Bug #28443958)

      * Replication: When stopping replication, any channels that
        had pending transactions could cause a deadlock in
        Replication. (Bug #28636768, Bug #28365855)

      * Replication: A patch to correct the handling of quotes
        for identifiers in ROLLBACK TO SAVEPOINT statements
in the binary
        log was not correctly applied to subsequent MySQL
versions. (Bug

      * Replication: Following a patch in MySQL 5.7.23, LOAD DATA
        INFILE statements stopped statement-based
replication from a
        MySQL 5.7.22 master to a replication slave at a
later release.
        The problem has now been fixed. (Bug #28541204, Bug

      * Replication: In some circumstances, the CHANGE MASTER TO
        statement could not be used on a replication slave
if the master
        info log had been changed from a table
        (master_info_repository=TABLE) into a file
        (master_info_repository=FILE). (Bug #28529558)

      * Replication: When the system variables
        binlog_transaction_dependency_tracking and
        binlog_transaction_dependency_history_size were set
or read, the
        types of lock that were required could result in a
        scenario, because the same locks were also required
for working
        with the active binary logs. A new lock type is now
used instead
        for access to the transaction dependency tracking
        variables, so that this deadlock cannot occur. (Bug
        Bug #91941, Bug #28537209, Bug #92108)

      * Replication: The PURGE BINARY LOGS TO 'log_name'
        statement failed for binary log files that had been
moved to
        another location using mysqlbinlogmove. Such files
are still
        listed in the binary log index file, but they are
listed using an
        absolute path, rather than a path relative to the
directory where
        the binary log files are normally stored. MySQL
Server can now
        locate and purge moved binary log files
successfully. (Bug

      * Replication: If autocommit was set to 0 for a replication
        slave or Group Replication group member where GTIDs
were in use
        and super_read_only=ON was set, server shutdown was
prevented by
        a transaction that did not complete. The transaction
        attempting to save GTIDs to the mysql.gtid_executed
table, but
        the update failed because super_read_only=ON was
set. (With
        autocommit set to 1, the transaction would complete
in this
        situation, and the mysql.gtid_executed table would
instead be
        updated at server startup.) Now, the check for the
        super_read_only setting is skipped for this task, so
        transaction is able to save the GTIDs to the
        table and complete regardless of the combination of
        super_read_only and autocommit settings. (Bug

      * Replication: An assertion was raised in debug builds if
        an XA ROLLBACK statement was issued for an unknown
        identifier when the gtid_next value had been set
manually. The
        server now does not attempt to update the GTID state
if an XA
        ROLLBACK statement fails with an error. (Bug
#27928837, Bug

      * Replication: The value returned by a SHOW SLAVE STATUS
        statement for the total combined size of all
existing relay log
        files (Relay_Log_Space) could become much larger
than the actual
        disk space used by the relay log files. The I/O
thread did not
        lock the variable while it updated the value, so the
SQL thread
        could automatically delete a relay log file and
write a reduced
        value before the I/O thread finished updating the
value. The I/O
        thread then wrote its original size calculation,
ignoring the SQL
        thread's update and so adding back the space for the
        file. The Relay_Log_Space value is now locked during
updates to
        prevent concurrent updates and ensure an accurate
        (Bug #26997096, Bug #87832)

      * Replication: If the relay log index file was temporarily
        locked for viewing by a backup process for a
replication slave,
        and MySQL Server also attempted to access the file
at that time
        for rename or delete operations, the backup
completed with
        warnings, but MySQL Server experienced an unexpected
halt. MySQL
        Server now retries the file access operation a
number of times in
        case this or a similar scenario is the explanation
and the file
        becomes available again before long. (Bug #25839610)

      * Replication: With sync_binlog=1 set, if the binary log
        was rotated during a commit before the binary log
end position
        was updated, replication stopped on the slave
because the server
        attempted to use the old binary log end position
with the new
        binary log file. The server now compares the binary
log file name
        with the active binary log file when updating the
binary log end
        position, so that the issue does not occur. (Bug
#22252394, Bug
        #25524203, Bug #84752)

      * The keyring_aws plugin was missing from Commercial
        packages for macOS.  The supported macOS
versions for this plugin
        now are macOS 10.13 and 10.14. (Bug #29051838)

      * MySQL Enterprise Firewall did not work well if the
        audit_log plugin was installed. (Bug #28930885, Bug

      * The server permitted creation of databases with the same
        name as redo log files, which could result in
unexpected server
        behavior. Such names are no longer permitted as
database names.
        (Bug #28867993)

      * Removal of Sun RPC and XDR from glibc into a separate
        libtirpc library caused problems with libasan on
some platforms.
        (Bug #28785835, Bug #92762, Bug #28897799, Bug

      * In LDAP group search filter values, special characters
        were not escaped. Special characters in the user DN
now are
        escaped with their hexadecimal equivalant as
        *  =>  \2a
        (  =>  \28
        )  =>  \29
        \  =>  \5c
        \0 =>  \00(Bug #28743525)

      * A memory leak was caused by GET_LOCK() calls with a zero
        timeout that failed due to concurrent connections
holding the
        same user-level lock. (Bug #28714367)

      * mysqlpump did not free all allocated resources when it
        encountered an error, resulting in memory leaks.
(Bug #28538971,
        Bug #92131)

      * For debug builds, the server could exit when attempting
        to roll back CREATE USER statements. (Bug #28536312)

      * Mishandling of deprecated system variables could cause
        output from queries on the Performance Schema
        table to be incorrect. (Bug #28515475, Bug #92049)

      * On a GTID-enabled server, concurrent statements on the
        INFORMATION_SCHEMA.COLUMNS table could deadlock.
(Bug #28293047,
        Bug #91548)

      * Comparing log file names as strings using the memcmp()
        function resulted in uninitialized memory read
errors.  The
        comparison now uses the strncmp() function. Thanks
to Zsolt
        Parragi and Laurynas Biveinis for their
contributions. (Bug
        #28178776, Bug #90238)

      * The optimizer skipped the second column in a composite
        index when executing an inner join with a LIKE
clause against the
        second column. (Bug #28086754)

      * CREATE TABLE ... SELECT could create date columns with
        "zero" date default values when it should have
created them
        without a default value. (Bug #28022129)

      * The transformation of IN subquery predicates into
        semijoins was not handled correctly for a very large
number of
        tables. (Bug #28004674)

      * Server mishandling of SIGHUP signals could result in a
        server exit. (Bug #27966483, Bug #90742)

      * When the character set of one string comparison operand
        was a superset of the character set of the other
operand, some
        comparisons were disallowed that should be permitted
        converting the operand with the "smaller" character
set to the
        "larger" character set. utf8mb4 and utf32 are
considered to be a
        superset of any other encoding. (Bug #27897053, Bug
        Bug #85224)

      * Improper memory handling by account management statements
        could result in server misbehavior. (Bug #27820277)

      * Executing a prepared statement to do a multiple-row
        insert with large number of placeholders consumed
        memory and could execute slowly. (Bug #27703912)

      * The parser accepted invalid SET statement syntax in
        trigger definitions that could result in a server
exit. (Bug

      * The server failed to start if the keyring_encrypted_file
        plugin keyring file was invalid. (Bug #27588064)

      * Keyring migration failed with source and destination
        keyring plugins of keyring_okv and
        respectively. (Bug #27493970)

      * When executing a prepared statement with a procedure call
        with the CURSOR_TYPE_READ_ONLY flag set, the client
library hung
        if the procedure performed a SELECT that returned an
empty result
        set. (Bug #27443252, Bug #89214)

      * The parser performed some out-of-memory checks
        incorrectly. (Bug #25633994)

      * When a subquery contained a UNION, the count of the
        number of subquery columns was calculated
incorrectly. (Bug

      * When binlog_format is ROW or MIXED, operations on
        temporary tables are not logged. Previously, the
exception to
        this rule was that when the connection was
terminated at the end
        of the session, the statement DROP TEMPORARY TABLE
        logged for any temporary tables that had been opened
in the
        session. For row-based replication, this behavior
caused an
        unnecessary write to the binary log, and added a
        sequence number for the GTID where these were
enabled. Now, when
        a temporary table is created in a session, the
binary logging
        format is tracked. The DROP TEMPORARY TABLE IF
EXISTS statement
        is only logged at the end of the session if
        format was in effect when the temporary table was
created, so the
        CREATE TEMPORARY TABLE statement was logged. If
row-based or
        mixed-format binary logging was in use when the
table was
statement is not
        logged.  Thanks to Laurynas Biveinis for the
patch. (Bug
        #24670909, Bug #83003, Bug #28606948)

      * DML statements using IGNORE were not always handled
        correctly on tables having generated columns. (Bug

      * A query employing a dynamic range and an index merge
        could use more memory than expected. (Bug #89953,
Bug #27659490)

On Behalf of MySQL Release Engineering Team,
Surabhi Bhat

MySQL Community Server 5.7.25 has been releasedSurabhi Bhat21 Jan