MySQL 5.7 Release Notes

7 Changes in MySQL 5.7.39 (2022-07-26, General Availability)

Compilation Notes

  • Added macOS/ARM support. (Bug #34017614)

  • On Windows, improved the generated INFO_BIN and INFO_SRC files. (Bug #33972317, Bug #34052301)

Keyring Notes

  • The keyring_aws plugin has been updated to use the latest AWS Encryption SDK for C (version 1.9.186).

    The keyring_aws_region variable supports the additional AWS regions supported by the new SDK. Refer to the variable description for a list of supported AWS regions. (WL #14547)

Performance Schema Notes

  • The SHOW PROCESSLIST statement provides process information by collecting thread data from all active threads. However, because the implementation iterates across active threads from within the thread manager while holding a global mutex, it has negative performance consequences, particularly on busy systems.

    An alternative SHOW PROCESSLIST implementation is now available based on the new Performance Schema processlist table. This implementation queries active thread data from the Performance Schema rather than the thread manager and does not require a mutex:

    • To enable the alternative implementation, enable the performance_schema_show_processlist system variable.

      Note

      The processlist table is automatically created in the Performance Schema for new installations of MySQL 5.7.39, or higher, and upgrades to MySQL 5.7.39, or higher.

    • The alternative implementation of SHOW PROCESSLIST also applies to the mysqladmin processlist command.

    • The alternative implementation does not apply to the INFORMATION_SCHEMA PROCESSLIST table or the COM_PROCESS_INFO command of the MySQL client/server protocol.

    • To ensure that the default and alternative implementations yield the same information, certain configuration requirements must be met; see The processlist Table.

    (WL #14611)

Functionality Added or Changed

Bugs Fixed

  • InnoDB: A 4GB tablespace file size limit on Windows 32-bit systems has been removed. The limit was due to an incorrect calculation performed while extending the tablespace. (Bug #28934351)

  • Replication: The write sets extracted by MySQL Replication from transactions when the transaction_write_set_extraction system variable is enabled (which is the default) are extracted from primary keys, unique keys, and foreign keys. They are used to detect dependencies and conflicts between transactions. Previously, write sets involving multi-column foreign keys were incorrectly identifying each column as a separate foreign key. The issue has now been fixed and foreign key write sets include all referenced key columns. (Bug #34095747, Bug #34144531)

  • Replication: When the --replicate-same-server-id option was used to make the replica not skip events that have its own server ID, if the log file was rotated, replication stopped with an error. The log rotation event now checks and applies the current value of the option. (Bug #89375, Bug #27492990)

  • Under certain circumstances TRUNCATE performance_schema.accounts caused duplicated counts in global_status.

    This occurred only if the following was true:

    Our thanks to Yuxiang Jiang and the Tencent team for the contribution. (Bug #34057013, Bug #106939)

  • Upgraded the bundled zlib library to zlib 1.2.12. Also made zlib 1.2.12 the minimum zlib version supported, and removed WITH_ZLIB from the WITH_SYSTEM_LIBS CMake option. (Bug #34015600)

  • If an incorrect value was set for the binlog_checksum system variable during a session, a COM_BINLOG_DUMP command made in the same session to request a binary log stream from a source failed. The server now validates the specified checksum value before starting the checksum algorithm setup process. (Bug #32442749)