The timing values for low-level
operations were adjusted for better performance with fast
storage devices, such as SSD.
This enhancement primarily affects read operations for
BLOB columns in
(Bug #13702112, Bug #64258)
did not work for
expr values greater
than the largest signed
value. Such arguments now are accepted, with some consequences
for compatibility with previous versions:
(Bug #20964, Bug #11745891)
An online DDL operation for an
incorrectly reported an empty value (
instead of the correct key value when it reported a duplicate
key error for a unique index using an index prefix.
CREATE TABLE statement
failed due to a disk full error, some memory allocated during
the operation was not freed properly.
InnoDB: If the server crashed at the specific point when a change buffer entry was being merged into a buffer pool page, the transaction log and the change buffer were left in an inconsistent state. After a restart, MySQL could crash after reading the corresponding secondary index page. The problem was more likely to occur in MySQL 5.5 or later, where the original insert buffering mechanism was generalized to cover other operations. (Bug #14636528, Bug #66819, Bug #58571, Bug #61104, Bug #65443)
In rare circumstances, MySQL could apply
records out of order during a
ROLLBACK of an operation
that modified a BLOB column. This issue could cause an assertion
error in debug builds:
In debug builds, a mismatch in the
PAGE_FREE list would cause an assertion.
Updates writing user variables whose values were never set on a
slave while using
cause the slave to fail.
References: This bug was introduced by Bug #14275000.
Replication: Following an insert into a nontransactional table that failed due to insufficient disk space, the server did not properly clean up all pending events, leading to an assert or possibly to other errors. (Bug #11750014)
`) characters were not always
handled correctly in internally generated SQL statements, which
could sometimes lead to errors on replication slaves or cause
failure of restore operations from binary log files.
(Bug #66550, Bug #14548159, Bug #29422, Bug #11746883)
Within a stored procedure, executing a multiple-table
DELETE statement that used a very
long table alias could cause the server to exit.
Very long database names in queries could cause the server to exit. (Bug #15912213, Bug #16900358)
Attempting to create an
InnoDB table with a
NULL type attribute could cause a serious
DELETE statement for an
InnoDB table could write incorrect
transaction metadata into a record, causing the server to halt
with an error. To work around this issue, reduce the specified
length of the primary key to less than 1K bytes.
Repeated execution of a query containing a subquery that used
MAX() could result in increasing
could fail with
Unknown database when
dbname contained multiple backtick
SHOW PROFILE could be used to
cause excessive server memory consumption.
The thread cache implementation worked in LIFO rather than FIFO fashion and could result in a thread being denied service (although this was a remote possibility). (Bug #14621627)
A memory leak could occur for queries containing a subquery that
GROUP BY on an outer column.
myisamchk now has a
myisam_sort_buffer_size variable available as
an alternative name to
myisam_sort_buffer_size is preferable to
sort_buffer_size because its name corresponds
server system variable that has a similar meaning.
sort_buffer_size should be considered
(Bug #11754894, Bug #46578)
The number of connection errors from a given host as counted by
the server was periodically reset, with the result that
max_connect_errors was never
reached and invalid hosts were never blocked from trying to
References: See also Bug #38247, Bug #43006, Bug #45584, Bug #45606.
On Windows, the Perl version of mysql_install_db created system tables in the mysql database that were not populated properly. (Bug #65584, Bug #14181049)
mysqld_safe ignored the value of the
UMASK environment variable, leading to
behavior different from mysqld with respect
to the access mode of created files. Now
mysqld_multi) attempt to approximate the same
behavior as mysqld.
(Bug #57406, Bug #11764559)
ZEROFILL values may be
converted to string constants. However,
CASE expressions did not handle
switching data types after the planning stage, leading to
CASE finding a null pointer instead
of its argument.
(Bug #57135, Bug #11764313)