Functionality Added or Changed
MySQL-shared-compat RPM package enables
users of Red Hat-provided
packages to migrate to Oracle-provided
MySQL-shared-compat now replaces the Red Hat
mysql-libs package by replacing
libmysqlclient.so files of the latter
package, thus satisfying dependencies of other packages on
mysql-libs. This change affects only users of
Red Hat (or Red Hat-compatible) RPM packages. Nothing is
different for users of Oracle RPM packages.
Security Fix: A security bug was fixed. (Bug #59533)
Performance; InnoDB; Partitioning:
The statistics used by the optimizer for queries against
InnoDB tables were
based only on the first partition of each such table, leading to
use of the wrong execution plan.
References: This bug was introduced by Bug #11756867.
This fix improves the speed of
InnoDB tables by removing
a scan of the buffer
pool to remove entries for the
index. This improvement is most noticeable on systems
with very large buffer pools and the
(Bug #13704145, Bug #64284)
Important Change; Partitioning: The query cache did not always function correctly with partitioned tables in a transactional context. For this reason, the query cache is now disabled for any queries using partitioned tables, and such queries can no longer be cached. For more information, see Restrictions and Limitations on Partitioning. (Bug #11761296, Bug #53775)
Deleting a huge amount of data from
tables within a short time could cause the purge operation that
removes delete-marked records to stall. This issue could result
in unnecessary disk space use, but does not cause any problems
with data integrity. If this issue causes a disk space shortage,
restart the server to work around it. This issue is only likely
to occur on 32-bit platforms.
Running concurrent bulk inserts on a server with
greater than 1, and
could result in intermittent errors like the following, even
with the primary key set to auto_increment and omitted from the
Duplicate entry '
value' for key 'PRIMARY'
The workaround was to set
(Bug #13817703, Bug #61209)
performance_schema counters for
InnoDB RW-locks did not record some cases
where mini-transactions acquired locks.
If the server crashed during a
statement for an
InnoDB table, or a
DROP DATABASE statement for a
InnoDB tables, an index
could be corrupted, causing an error message when accessing the
table after restart:
InnoDB: Error: trying to load index
table_nameInnoDB: but the index tree has been freed!
In MySQL 5.1, this fix applies to the InnoDB Plugin, but not the built-in InnoDB storage engine. (Bug #12861864, Bug #11766019)
When data was removed from an
newly inserted data might not reuse the freed disk blocks,
leading to an unexpected size increase for the system tablespace
.ibd file (depending on the setting of
OPTIMIZE TABLE could compact a
.ibd file in some cases but not others. The
freed disk blocks would eventually be reused as additional data
(Bug #11766634, Bug #59783)
When shutting down the MySQL server, the cleanup operations of
InnoDB shutdown could take a long time
with no output, making the server appear to be hung.
[Note] mysqld: Normal shutdown InnoDB: Starting shutdown... InnoDB: Shutdown completed; log sequence number ...
Now additional progress messages are displayed between the “starting” and “completed” messages:
InnoDB: Waiting for srv_monitor_thread (srv_lock_timeout_thread/ srv_error_monitor_thread) to exit InnoDB: Waiting for %lu active transactions to exit InnoDB: Waiting for master thread (worker threads) to be suspended InnoDB: Pending checkpoint_writes: %lu InnoDB: Pending log flush writes: %lu InnoDB: Waiting for %lu buffer page I/Os to complete InnoDB: Waiting for dirty buffer pages to be flushed
InnoDB: Waiting for %lu tables to be dropped
During a slow shutdown, two additional messages are printed if certain phases take longer than normal:
InnoDB: Waiting for %lu undo logs to be purged InnoDB: number of pages just purged: %lu InnoDB: Waiting for change buffer merge to complete\n InnoDB: number of bytes of change buffer just merged: %lu
(Bug #11755873, Bug #47707)
Formerly, the default value shown for the
Port column in the output of
SHOW SLAVE HOSTS was 3306 whether
the port had been set incorrectly or not set at all. Now, when
the slave port is not set, the actual port used by the slave is
shown. This change also affects the default shown for the
--report-port server option.
option was sometimes ignored.
More specifically, when the SQL thread went to sleep, it allowed the I/O thread to queue additional events in such a way that the relay log space limit was bypassed, and the number of events in the queue could grow well past the point where the relay logs needed to be rotated. Now in such cases, the SQL thread checks to see whether the I/O thread should rotate and provide the SQL thread a chance to purge the logs (thus freeing space).
Note that, when the SQL thread is in the middle of a transaction, it cannot purge the logs; it can only ask for more events until the transaction is complete. Once the transaction is finished, the SQL thread can immediately instruct the I/O thread to rotate. (Bug #12400313, Bug #64503)
References: See also Bug #13806492.
An infinite thread loop could develop within Performance Schema, causing the server to become unresponsive. (Bug #13898343)
Incorrect stored program caching could cause statements within a
stored program that included a
clause to return different results across multiple program
NO_BACKSLASH_ESCAPES SQL mode
within stored procedures on slave servers could cause
References: See also Bug #11766752.
The Performance Schema incorrectly displayed some backslashes in Windows file names (by doubling them). (Bug #63339, Bug #13417446)
SHOW statements treated stored
procedure, stored function, and event names as case sensitive.
(Bug #56224, Bug #11763507)
On Mac OS X 10.5, the MySQL Preference Pane did not run on Intel-based systems. (Bug #60712, Bug #13788147)