tcmallocis no longer a permitted value for the mysqld_safe--malloc-liboption. (Bug #31372027)
-
The
libeventlibrary bundled with MySQL was upgraded to version 2.1.11. In addition, for theWITH_LIBEVENTCMake option, the following two changes were made:yesis no longer permitted as a synonym forsystem. Usesysteminstead.If
systemis specified but no systemlibeventis found, the bundled version is no longer used in place of the missing system library, and an error occurs instead.
(Bug #30926742)
-
Incompatible Change: Access to the
INFORMATION_SCHEMA.FILEStable now requires thePROCESSprivilege.This change affects users of the mysqldump command, which accesses tablespace information in the
FILEStable, and thus now requires thePROCESSprivilege as well. Users who do not need to dump tablespace information can work around this requirement by invoking mysqldump with the--no-tablespacesoption. (Bug #30350829) 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 https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html. (Bug #31296697)
InnoDB: The
INNODB_METRICStableAVG_COUNT_RESETvalue for a counter defined as a module owner reported NULL. TheMETRIC_AVG_VALUE_RESETfield 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 #91033)
-
InnoDB: A fatal “page still fixed or dirty” error occurred during shutdown. (Bug #29759555, Bug #95285)
References: This issue is a regression of: Bug #29207450.
-
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
WHEREclause 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 BYwas the rightmost column in the index.The index was used for handling the
ORDER BY.
Our thanks to Quanan Han for the suggestion. (Bug #84070, Bug #25207522)
Replication: When a replication source server shuts down and restarts, its
MEMORYtables become empty. To replicate this effect to replicas, the first time that the source uses a givenMEMORYtable after startup, it notifies replicas that the table must be emptied by writing aDELETEstatement for that table to the binary log. Previously, the generatedDELETEstatement 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 withoutBEGINandCOMMITstatements. Also, in some situations, the generatedDELETEstatement could consume the GTID intended for the transaction that triggered it. The generatedDELETEstatement is now logged with accompanyingBEGINandCOMMITstatements, 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: A fix made in MySQL 8.0.14 and MySQL 5.7.25 for a deadlock scenario involving the system variables
binlog_transaction_dependency_trackingandbinlog_transaction_dependency_history_sizehad 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.
Group 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)
Configuring with
-DWITH_EDITLINE=systemresulted in compilation failures for older library versions. (Bug #31366715)The upgrade of the bundled
libeditlibrary 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('')orCONCAT_WS('')to a variable set the variable toNULL, not the empty string. (Bug #31320716, Bug #99485, Bug #31413167, Bug #99722)The
gen_range()user-defined function could mishandle its arguments, causing a server exit. (Bug #30763294)During
UPDATEprocessing, conversion of an internal in-memory table toInnoDBcould result in a key-length error. (Bug #30674616)It is possible to define a column named
*(single asterisk character), butSELECT `*`was treated identically toSELECT *, 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)An internal packet-length function returned values of the wrong integer type. (Bug #30139031)
Calculations by mysqldump for the length of
INSERTstatements did not take into account the_binarycharacter set introducer used forVARBINARYstrings. (Bug #29998457, Bug #96053)-
The internal method
Field_tiny::pack()did not always perform bounds checking as expected. (Bug #29948029)References: See also: Bug #31591391.
mysql_store_result()could fail to detect invalid data packets. (Bug #29921423)In a multiple-table
UPDATEthat 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 aCan't find recorderror. (Bug #28716103)The optimizer could attempt to access a pseudo table as a table, resulting in unexpected server behavior. (Bug #28651673)
The server sometimes mistakenly removed a subquery with a
GROUP BYwhen 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)