Functionality Added or Changed
A new server option,
--slow-start-timeout, controls
the Windows service control manager's service start timeout. The
value is the maximum number of milliseconds that the service
control manager waits before trying to kill the MySQL service
during startup. The default value is 15000 (15 seconds). If the
MySQL service takes too long to start, you may need to increase
this value. A value of 0 means there is no timeout.
(Bug #45546, Bug #11754011)
Bugs Fixed
Performance; InnoDB:
This fix improved the efficiency and concurrency of freeing
pages in the InnoDB buffer pool when
performing a DROP TABLE for an
InnoDB table when the
innodb_file_per_table option is
enabled.
This change is most noticeable for systems with large buffer pools. During the drop operation, one traversal of the buffer pool memory structure is changed from the LRU list (the entire buffer pool) to the flush list (a much smaller structure). The LRU scanning is reduced, but not entirely eliminated. The buffer pool mutex is also released periodically, so that if the drop operation takes significant time, other threads can proceed concurrently. (Bug #11759044, Bug #51325)
Important Change; Replication:
Setting an empty user in a CHANGE MASTER
TO statement caused an invalid internal result and is
no longer permitted. Trying to use
MASTER_USER='' or setting
MASTER_PASSWORD while leaving
MASTER_USER unset causes the statement to
fail with an error.
(Bug #13427949)
Important Change; Replication:
Moving the binary log file, relay log file, or both files to a
new location, then restarting the server with a new value for
--log-bin,
--relay-log, or both, caused the
server to abort on start. This was because the entries in the
index file overrode the new location. In addition, paths were
calculated relative to datadir (rather than to the
--log-bin or
--relay-log values).
The fix for this problem means that, when the server reads an
entry from the index file, it now checks whether the entry
contains a relative path. If it does, the relative part of the
path is replaced with the absolute path set using the
--log-bin or
--relay-log option. An absolute
path remains unchanged; in such a case, the index must be edited
manually to enable the new path or paths to be used.
(Bug #11745230, Bug #12133)
InnoDB:
Certain CREATE TABLE statements
could fail for InnoDB child tables containing
foreign key definitions. This problem affected Windows systems
only, with the setting
lower_case_table_names=0. It was a regression
from MySQL bug #55222.
(Bug #13083023, Bug #60229)
InnoDB:
When doing a live downgrade from MySQL 5.6.4 or later, with
innodb_page_size set to a value other than
16384, now the earlier MySQL version reports that the page size
is incompatible with the older version, rather than crashing or
displaying a “corruption” error.
(Bug #13116225)
InnoDB:
Issuing INSERT...ON
DUPLICATE KEY statements for InnoDB
tables from concurrent threads could cause a
deadlock, particularly with
the INSERT...ON DUPLICATE KEY UPDATE form.
The problem could also be triggered by issuing multiple
INSERT IGNORE
statements. The fix avoids deadlocks caused by the same row
being accessed by more than one transaction. Deadlocks could
still occur when multiple rows are inserted and updated
simultaneously by different transactions in inconsistent order;
those types of deadlocks require the standard error handling on
the application side, of re-trying the transaction.
(Bug #11759688, Bug #52020, Bug #12842206)
An incorrect InnoDB assertion could cause the
server to halt. This issue only affected debug builds. The
assertion referenced the source file
btr0pcur.ic and the variable
cursor->pos_state.
(Bug #13358468)
LOAD INDEX INTO
CACHE could cause a server exit if the index cache was
too small.
(Bug #12361113)
Enabling myisam_use_mmap could
cause the server to crash.
(Bug #48726, Bug #11756764)
Concurrent access to ARCHIVE tables could
cause corruption.
(Bug #42784, Bug #11751793)
The handle_segfault() signal-handler code in
mysqld could itself crash due to calling
unsafe functions.
(Bug #54082, Bug #11761576)
Locale information for FORMAT()
function instances was lost in view definitions.
(Bug #63020, Bug #13344643)
