For MySQL Enterprise Audit, the new
audit_log_format_unix_timestamp
system variable enables inclusion of atime
field 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. Thetime
field 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_version
system 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-version
option 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 TO
has aMASTER_TLS_VERSION
option.)
(Bug #32565996, WL #14519)
Binary packages that include
curl
rather than linking to the systemcurl
library have been upgraded to usecurl
7.77.0. (Bug #33077562)The bundled
lz4
library 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
InnoDB
mecached 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
REDUNDANT
row format, exceeding the index key prefix length limit for that row format. TheALTER TABLE
operation that added the index validated the index key prefix length for the row format defined by theinnodb_default_row_format
variable 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_mutex
was 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_concurrency
setting. (Bug #30215068, Bug #96374)Replication; Group Replication: When the system variable
replication_optimize_for_static_plugin_config
was 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_REPLICATION
andSTOP GROUP_REPLICATION
statements 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_REPLICATION
statement 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
NULL
to a stored procedure expecting aJSON
parameter 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_USER
packet, 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_GROUP
error. (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
UPDATE
statements, 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)