Functionality Added or Changed
On Solaris, mysql_config --libs now includes -R/path/to/library so that \
libraries can be found at runtime.
InnoDB: A regression introduced by Bug 14329288 would result in a performance \
degradation when a compressed table does not fit into memory.
InnoDB: The maximum value for innodb_thread_sleep_delay is now 1000000 \
microseconds. The previous maximum value (4294967295 microseconds on 32-bit and \
18446744073709551615 microseconds on 64-bit) was unnecessarily large. Because \
the maximum value of innodb_thread_sleep_delay is limited by the value set for \
innodb_adaptive_max_sleep_delay (when set to a non-zero value), the maximum \
value for innodb_thread_sleep_delay is now the same as the maximum value for \
InnoDB: In debug builds, creating a unique index on a binary column, with input \
data containing duplicate keys, would cause an assertion.
InnoDB: InnoDB would fail to start when innodb_data_file_path specified the data \
file size in kilobytes by appending K to the size value.
InnoDB: An insert buffer merge would cause an assertion error due to incorrectly \
handled ownership information for externally stored BLOBs.
InnoDB: Assertion failure in thread thread_num in file ibuf0ibuf.cc line 4080
InnoDB: Failing assertion: rec_get_deleted_flag(rec, page_is_comp(page))
InnoDB: Decreasing the auto_increment_increment value would have no affect on \
the next auto-increment value.
Replication: The server did not handle correctly the insertion of a row larger \
than 4 GB when using row-based replication.
Replication: When using row-based replication, an additional auto-increment \
column on the slave version of a table was not updated correctly; a zero was \
Replication: Statements involving the Performance Schema tables should not be \
written to the binary log, because the content of these tables is applicable \
only to a given MySQL Server instance, and may differ greatly between different \
servers in a replication topology. The database administrator should be able to \
configure (INSERT, UPDATE, or DELETE) or flush (TRUNCATE TABLE) performance \
schema tables on a single server without affecting others. However, when \
replicating from a MySQL 5.5 master to a MySQL 5.5 or later slave, warnings \
about unsafe statements updating Performance Schema tables were elevated to \
errors. For MySQL 5.6 and later slaves, this prevented the simultaneous use of \
performance_schema and GTIDs (see Replication with Global Transaction \
Identifiers, in the MySQL 5.6 Manual).
This fix causes all updates on tables in the performance_schema database to be \
filtered on the master and not replicated, regardless of the type of logging \
that is in effect. Prior to this fix, statements using were handled by being \
marked as unsafe for replication, which caused warnings during execution; the \
statements were nonetheless written to the binary log, regardless of the logging \
format in effect.
Existing replication behavior for tables in the INFORMATION_SCHEMA database is \
not changed by this fix.
For more information, see MySQL Performance Schema.
Compilation failed if MySQL was configured with CFLAGS set to include a -Werror \
option with an argument.
A shared libmysqld embedded server library was not built on Linux.
While printing the server version, the mysql client did not check for buffer \
overflow in a string variable.
Contraction information in a collation could be mishandled, resulting in \
incorrect decisions about whether a character is part of a contraction, and \
miscalculation of contraction weights.
DROP TRIGGER succeeded even with the read_only system variable enabled.
Updating the Performance Schema setup_instruments table on a replication master \
caused a slave to exit.
Due to a race condition, it was possible for two threads to end up with the same \
query ID for different queries.
When run by root, mysqld --help --verbose exited with a nonzero error code after \
displaying the help message.
MySQL client programs from a Community Edition distribution could not connect \
using SSL to a MySQL server from an Enterprise Edition. This was due to a \
difference in certificate handling by yaSSL and OpenSSL (used for Community and \
Enterprise, respectively). OpenSSL expected a blank certificate to be sent when \
not all of the --ssl-ca, --ssl-cert, and --ssl-key options were specified, and \
yaSSL did not do so. To resolve this, yaSSL has been modified to send a blank \
certificate when an option is missing.
A deadlock error occurring during subquery execution could cause an assertion to \
The Performance Schema stage/sql/Waiting to get readlock instrument is no longer \
used and has been removed.
For system variables that take a string value, SET statements permitted an \
unquoted value, but values that contained dots were parsed incorrectly and only \
part of the value was assigned. For example, SET GLOBAL slow_query_log_file = \
my_slow.log assigned the value my_slow. Now such values must be quoted or an \
On Windows, mysql_install_db.pl could be run only from within the bin directory \
under the installation directory.
Functionality Added or Changed
CMake now supports a -DTMPDIR=dir_name option to specify the default tmpdir \
value. If unspecified, the value defaults to P_tmpdir in <stdio.h>. Thanks \
to Honza Horak for the patch.
InnoDB: Table renaming errors would appear in the LATEST FOREIGN KEY ERROR \
section of the SHOW ENGINE INNODB STATUS output.
Partitioning: Queries using the index_merge optimization (see Index Merge \
Optimization) could return invalid results when run against tables that were \
partitioned by HASH.
Partitioning: When no partition had returned a row since the last \
HA_ERR_KEY_NOT_FOUND error, the use of uninitialized memory in the priority \
queue used for returning rows in sorted order could lead to a crash of the \
Replication: mysqlbinlog --verbose failed when it encountered a corrupt row \
event in the binary log. Such a row event could also cause the slave to fail.
Replication: When log_warnings is greater than 1, the master prints binary log \
dump thread information—containing the slave server ID, binary log file name, \
and binary log position—in mysqld.1.err. A slave server ID greater than 2 \
billion was printed with a negative value in such cases.
Replication: Invalid event offsets in the binary log were not always handled \
correctly, which could lead to replication failure.
The cache used for the Index Merge access method was freed only after successful \
retrieval of all rows. Interruption or failure of the operation led to a file \
For utf8 and utf8mb4 strings, handler functions unnecessarily called a Unicode \
Use of a nonmulti-byte algorithm for skipping leading spaces in multi-byte \
strings could cause a server exit.
For the utf8_bin collation, ORDER BY LOWER(col_name) could produce incorrect \
On Windows, the --local-service server option did not work, and was not \
displayed in the --help message.
The prototype of the Performance Schema instrumentation API \
mysql_cond_timedwait() call was fixed to be drop-in compatible with \
pthread_cond_timedwait(). This fix affects only implementers of third-party \
For the path specified with the --basedir option, mysql_plugin attempted to \
unlink the path rather than free the memory in which the path was stored.
COUNT(DISTINCT) sometimes produced an incorrect result when the last read row \
contained a NULL value.
Some scripts displayed out-of-date information regarding where to report bugs.
Updating a FEDERATED table with UPDATE... JOIN caused a server exit when the \
local table contained a single row and that row could be joined to a row in the \
mysql_install_db referred to the obsolete mysqlbug script for reporting \
problems. It now refers to http://bugs.mysql.com/ instead.