For MySQL Enterprise Audit, the new
audit_log_format_unix_timestampsystem variable enables inclusion of atimefield in each audit record. The field value is an integer that represents the UNIX timestamp value indicating the date and time when the audit event was generated. Thetimefield is supported only for JSON-format log files. (WL #14600)
-
The TLSv1 and TLSv1.1 connection protocols now are deprecated and support for them is subject to removal in a future MySQL version. (For background, refer to the IETF memo Deprecating TLSv1.0 and TLSv1.1.) It is recommended that connections be made using the more-secure TLSv1.2 and TLSv1.3 protocols. TLSv1.3 requires that both the MySQL server and the client application be compiled with OpenSSL 1.1.1 or higher.
On the server side, this deprecation has the following effects:
If the
tls_versionsystem variable is assigned a value containing a deprecated TLS protocol during server startup, the server writes a warning for each deprecated protocol to the error log.If a client successfully connects using a deprecated TLS protocol, the server writes a warning to the error log.
On the client side, the deprecation has no visible effect. Clients do not issue a warning if configured to permit a deprecated TLS protocol. This includes:
Client programs that support a
--tls-versionoption for specifying TLS protocols for connections to the MySQL server.Statements that enable replicas to specify TLS protocols for connections to the source server. (
CHANGE MASTER TOhas aMASTER_TLS_VERSIONoption.)
(Bug #32565996, WL #14519)
Binary packages that include
curlrather than linking to the systemcurllibrary have been upgraded to usecurl7.77.0. (Bug #33077562)The bundled
lz4library was upgraded to version 1.9.3. (Bug #29747853)
InnoDB: After upgrading from MySQL 5.6 to MySQL 5.7 and starting the server with undo log truncation enabled (
innodb_undo_log_truncate=ON), a deadlock occurred when an undo tablespace truncate operation was initiated. The deadlock caused a long semaphore wait and an eventual failure. A direct upgrade from MySQL 5.6 to MySQL 5.7.35 or later avoids this potential issue. (Bug #32800020)InnoDB: An integer underflow issue was addressed in the
InnoDBmecached plugin sources. (Bug #32620378, Bug #32620398)InnoDB: An index with a key prefix length greater than 767 bytes was permitted on a table defined with the
REDUNDANTrow format, exceeding the index key prefix length limit for that row format. TheALTER TABLEoperation that added the index validated the index key prefix length for the row format defined by theinnodb_default_row_formatvariable instead of the actual row format of the table. The fix ensures that index key prefix length is validated for the correct row format. (Bug #32507117, Bug #102597)InnoDB: An online buffer pool resizing operation freed the previous buffer pool page hash, conflicting with a concurrent buffer pool lookup that required the previous page hash. (Bug #32460315)
InnoDB: Numerous system temporary table pages at the tail of the buffer pool flush list caused a performance degradation. The
flush_list_mutexwas held while the flush list scan traversed over system temporary table pages. The flush list scan now excludes system temporary table pages. (Bug #31060470, Bug #98974)InnoDB: A binary log rotation deadlock occurred on a system using statement-based replication where there was high number of concurrent update operations and low
innodb_thread_concurrencysetting. (Bug #30215068, Bug #96374)Replication; Group Replication: When the system variable
replication_optimize_for_static_plugin_configwas set, the plugins for Group Replication and semi-synchronous replication could not be uninstalled cleanly on server shutdown. (Bug #32798287)Replication: A deadlock could occur when
START GROUP_REPLICATIONandSTOP GROUP_REPLICATIONstatements were issued at the same time that a view change was taking place for the group. (Bug #32738137, Bug #32836868)Replication: A deadlock could occur if a
STOP GROUP_REPLICATIONstatement was issued when a replication channel on a group member was attempting to commit a transaction. The server now rolls back the transaction immediately if it cannot acquire the relevant lock, rather than waiting for the lock and the commit to complete and causing the deadlock. (Bug #32633176)Replication: On a multithreaded replica, the reference to the active event was sometimes managed incorrectly when retrying a transaction. (Bug #32590974)
Replication: Replica servers now check and validate the transaction ID part of a GTID before applying and committing the transaction associated with it. (Bug #32103192)
Replication: Replication could stop on a multithreaded replica if a unique secondary key was omitted from the writeset hashes used to compute transaction dependencies, leading to errors when executing the transactions on the multithreaded replica. Write set hashes now always include unique secondary keys even if they are not included in the read set and write set. (Bug #31636339)
JSON: Passing
NULLto a stored procedure expecting aJSONparameter led to an assertion failure in debug builds. (Bug #23209914)Replication could fail if a DML statement was executed immediately after an XA transaction was rejected or forced to rollback due to a deadlock. (Bug #32707060)
The
mysql_change_user()C API function did not properly parse theCOM_CHANGE_USERpacket, which could result in silent failure to process optional query attributes that may have been supplied prior to themysql_change_user()call. Thanks for René Cannaò for the contribution. (Bug #32391415, Bug #102266)Repreparation of a prepared statement at the beginning of an implicit transaction could cause an
ER_GTID_NEXT_TYPE_UNDEFINED_GROUPerror. (Bug #32326510, Bug #102031)An out-of-memory error occurred when loading large amounts of data into tables with full-text search indexes. Not all of the memory allocated to the full-text search cache was accounted for when inserting data into the full-text search auxiliary tables. (Bug #31576731)
-
A secondary index over a virtual column became corrupted when the index was built online.
For
UPDATEstatements, we fix this as follows: If the virtual column value of the index record is set toNULL, then we generate this value from the cluster index record. (Bug #30556595) Boolean system variables could be assigned a negative value. (Bug #11758439, Bug #50643)