Dear MySQL users,
MySQL Server 5.6.24, a new version of the popular Open Source
Database Management System, has been released. MySQL 5.6.24 is
recommended for use on production systems.
For an overview of what's new in MySQL 5.6, please see
http://dev.mysql.com/doc/refman/5.6/en/mysql-nutshell.html
Starting with 5.6.11, Microsoft Windows packages for MySQL 5.6
are available both as a "full" installer and as a "web" installer.
The full installer is significantly larger and comes bundled with
the latest software releases available. This bundle makes it easy
to download and configure a full server and development suite.
The web installer doesn't come bundled with any actual products
and instead relies on download-on-demand to fetch only the
products you choose to install. This makes the initial download
much smaller but increases install time as the individual products
will need to be downloaded.
For information on installing MySQL 5.6.24 on new servers or upgrading
to MySQL 5.6.24 from previous MySQL releases, please see
http://dev.mysql.com/doc/refman/5.6/en/installing.html
MySQL Server is available in source and binary form for a number of
platforms from our download pages at
http://dev.mysql.com/downloads/
Not all mirror sites may be up to date at this point in time, so if you
can't find this version on some mirror, please try again later or choose
another download site.
We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc:
https://wikis.oracle.com/display/mysql/Contributing
The following section lists the changes in the MySQL 5.6 since
the release of MySQL 5.6.23. It may also be viewed
online at
http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-24.html
Enjoy!
Changes in MySQL 5.6.24 (2015-04-06)
Functionality Added or Changed
* CMake support was updated to handle CMake version 3.1.
(Bug #20344207)
* The server now includes its version number when it writes
the initial "starting" message to the error log, to make
it easier to tell which server instance error log output
applies to. This value is the same as that available from
the version system variable. (Bug #74917, Bug #20052694)
* ALTER TABLE did not take advantage of fast alterations
that might otherwise apply to the operation to be
performed, if the table contained temporal columns found
to be in pre-5.6.4 format (TIME, DATETIME, and TIMESTAMP
columns without support for fractional seconds
precision). Instead, it upgraded the table by rebuilding
it. Two new system variables enable control over
upgrading such columns and provide information about
them:
+ avoid_temporal_upgrade controls whether ALTER TABLE
implicitly upgrades temporal columns found to be in
pre-5.6.4 format. This variable is disabled by
default. Enabling it causes ALTER TABLE not to
rebuild temporal columns and thereby be able to take
advantage of possible fast alterations.
+ show_old_temporals controls whether SHOW CREATE
TABLE output includes comments to flag temporal
columns found to be in pre-5.6.4 format. Output for
the COLUMN_TYPE column of the
INFORMATION_SCHEMA.COLUMNS table is affected
similarly. This variable is disabled by default.
Both variables are deprecated and will be removed in a
future MySQL release. (Bug #72997, Bug #18985760)
* Statement digesting as done previously by the Performance
Schema is now done at the SQL level regardless of whether
the Performance Schema is compiled in and is available to
other aspects of server operation that could benefit from
it. The default space available for digesting is 1024
bytes, but can be changed at server startup using the
max_digest_length system variable.
References: See also Bug #18304086, Bug #20015246.
Bugs Fixed
* InnoDB: A TRUNCATE TABLE operation on a temporary table
raised an assertion. The temporary table object was
incompletely constructed when reloaded from SYS_TABLES.
(Bug #20527363, Bug #72080)
* InnoDB: A full-text phrase search returned an incorrect
result. An empty string was handled incorrectly when
tokenizing a newly inserted row. (Bug #20465273, Bug
#75755)
* InnoDB: Optimizing a FULLTEXT index raised an assertion.
The last optimized word of a FULLTEXT index is stored in
the CONFIG table value column which is defined as
CHAR(50). An assertion was raised when the last optimized
word was greater than 50 characters in length. The CONFIG
table value column is defined as CHAR(200) as of MySQL
5.6.24 and MySQL 5.7.6.
If your innodb_ft_max_token_size setting is greater than
50, it is recommended that you recreate existing InnoDB
FULLTEXT indexes after upgrading to MySQL 5.6.24 or MySQL
5.7.6 to avoid this issue. FULLTEXT indexes created after
upgrading to MySQL 5.6.24 or MySQL 5.7.6 are unaffected.
(Bug #20418326)
* InnoDB: An InnoDB memcached extra_col_value[] array was
freed without checking the allocated flag, causing a
server exit. (Bug #20400373)
* InnoDB: A DML operation performed while a flushing
operation was in progress raised a memcached-related
assertion. (Bug #20390277)
* InnoDB: The memcached process_arithmetic_command raised
an assertion. The wrong error code was returned for a
nonexistent decr key. (Bug #20386835)
* InnoDB: The expiration time (exptime) defined using the
memcached set command was ignored. InnoDB memcached set
the expiration time to an interval value instead of a
system time value. (Bug #20381342, Bug #70055)
* InnoDB: An assertion was raised when the full-text search
fts_savepoint_release() function released a named
transaction savepoint and all subsequent savepoints. Only
the initial savepoint should be released. (Bug #20341916)
* InnoDB: A full-text search optimization operation raised
an assertion. (Bug #20281800)
* InnoDB: Due to a regression introduced in MySQL 5.6.20,
mysqld stop did not stop the mysqld server process while
the InnoDB memcached plugin was active. (Bug #20078646,
Bug #74956)
References: This bug is a regression of Bug #18409840.
* InnoDB: An ALTER TABLE ... RENAME failure on a table with
a FULLTEXT index raised an assertion. (Bug #20043707)
* InnoDB: A severe error occurred during the log apply
phase of an online ALTER TABLE operation that was
converting a table with a UTF-8 charset to
ROW_FORMAT=REDUNDANT. (Bug #19843246)
* InnoDB: When dummy tables are created, the autoinc_mutex
member of the of the dict_table_t object was created
unnecessarily. Similarly, the zip_pad.mutex object of
dict_index_t object was created unnecessarily for dummy
indexes. To avoid unnecessary mutex contention,
autoinc_mutex and zip_pad.mutex objects are now allocated
and initialized on the first lock attempt. (Bug
#19788198, Bug #73361)
* InnoDB: An ALTER TABLE ... RENAME operation raised an
invalid assertion. The assertion code used an incorrect
transaction object. (Bug #18523599)
References: This bug is a regression of Bug #17447500.
* InnoDB: A memcached append operation on an INT column
caused a segmentation fault. append operations on INT
columns are not supported and are now blocked. (Bug
#75200, Bug #20209756)
* Partitioning: A number of ALTER TABLE statements that
attempted to add partitions, columns, or indexes to a
partitioned table while a write lock was in effect for
this table were not handled correctly. (Bug #74451, Bug
#74478, Bug #74491, Bug #74560, Bug #74746, Bug #74841,
Bug #74860, Bug #74869, Bug #19856162, Bug #19864284, Bug
#19873019, Bug #19891663, Bug #19990815, Bug #20026661,
Bug #20031966, Bug #20033503, Bug #19827845)
* Partitioning: Executing an ALTER TABLE on a partitioned
table on which a write lock was in effect could cause
subsequent SQL statements on this table to fail. (Bug
#74288, Bug #74634, Bug #19784790, Bug #19918805)
References: See also Bug #19856162, Bug #74451.
* Replication: When replicating from a 5.7.6 or later
server to a 5.6.23 or earlier server, if the older
version applier thread encountered an
Anonymous_gtid_log_event it caused an assert. The fix
ensures that these new log events added in MySQL 5.7.6
and later do not cause this problem with 5.6.24 and later
slaves. If gtid_mode is OFF and the applier thread
encounters a Gtid_log_event, the applier thread aborts
with an error. If gtid_mode is ON and the applier thread
encounters a Anonymous_gtid_log_event, the applier thread
aborts with an error. (Bug #20436436)
* Replication: When the automatic_sp_privileges variable is
set, the server automatically grants the EXECUTE and
ALTER ROUTINE privileges to the creator of a stored
routine, if the user does not already have these
privileges. When a privileged user creates a procedure
with DEFINER as a non privileged user on a master, the
current user is considered to be a privileged user and
the mysql.procs_priv table is not updated. When such a
statement was replicated to slave, the non-privileged
DEFINER was considered as the current user on the slave
and privileges were being allocated. This caused a
difference in the privileges that were being allocated on
the master and the slave. The fix ensures that creater of
the stored routine is added to the binary log, and the
slave now checks first if the user exists before granting
privileges. To maintain compatibility with previous
versions, the DEFINER is used when the INVOKER is not
available. As part of this fix, anonymous users can be
used to replicate from master to slave. (Bug #20049894)
* Replication: When using a slave configured to use a
special character set such as UTF-16, UTF-32, or UCS-2,
the receiver (I/O) thread failed to connect. The fix
ensures that in such a situation, if a slave's character
set is not supported then default to using the latin1
character set. (Bug #19855907)
* Replication: When gtid_mode=ON and slave_net_timeout was
set to a low value, the slave I/O thread could appear to
hang. This was due to the slave heartbeat not being sent
regularly enough when the dump thread found many events
that could be skipped. The fix ensures that the heartbeat
is sent correctly in such a situation. (Bug #74607, Bug
#19975697)
* CMake failed to detect the OpenSSL version properly for
recent versions of OpenSSL (the format of the version
string changed). (Bug #20756770)
* For execution of prepared statements, no check was made
whether an audit log plugin returned an error, so
statement success could erroneously be returned. (Bug
#20567900)
* Corrections were made for a number of code issues that
resulted in compiler warnings about array bounds,
possibly uninitialized variables, and variables being set
but not used. (Bug #20458574)
* Following execution of a GRANT ... WITH GRANT OPTION
statement, execution of a prepared statement with a view
could cause a server exit. (Bug #20030284)
* NULL as an expression was not recognized as a literal for
calculation of Performance Schema statement digests. (Bug
#20015246)
* A user with a name of event_scheduler could view the
Event Scheduler process list without the PROCESS
privilege. (Bug #20007583)
* Trying to create a user after dropping columns from the
mysql.user table could result in a server exit. (Bug
#19910140)
* Ordering by a GROUP_CONCAT() result could cause a server
exit. (Bug #19880368, Bug #20730220)
* A malformed mysql.proc table row could result in a server
exit for DROP DATABASE of the database associated with
the proc row. (Bug #19875331)
* SHOW GRANTS after connecting using a proxy user could
display the password hash of the proxied user. (Bug
#19817663)
* Large values of the transaction_prealloc_size system
variable could cause the server to allocate excessive
amounts of memory. The maximum value has been adjusted
down to 128K. A similar change was made for
transaction_alloc_block_size. Transactions can still
allocate more than 128K if necessary; this change reduces
the amount that can be preallocated, as well as the
maximum size of the incremental allocation blocks. (Bug
#19770858, Bug #20730053)
* Certain queries on the
INFORMATION_SCHEMA.INNODB_FT_CONFIG table could cause a
server exit. (Bug #19703520)
* A server exit could occur for queries that compared two
rows using the <=> operator and the rows belonged to
different character sets. (Bug #19699237, Bug #20730155)
* Certain InnoDB errors caused stored function and trigger
condition handlers to be ignored. (Bug #19683834, Bug
#20094067)
* The optimizer could raise an assertion due to incorrectly
associating an incorrect field with a temporary table.
(Bug #19612819, Bug #20730129)
* Audit log filtering was not applied to connection events.
(Bug #19509398)
* With audit_log_connection_policy=ERRORS, successful
COM_QUIT events were errroneously written to the audit
log. (Bug #19509373)
* The value of the audit_log_events system variable did not
equal the sum of the other audit log counters. (Bug
#19509336)
* The audit_log_events_filtered system variable did not
increment when audit log events were filtered. (Bug
#19509263)
* Many new features were added to the audit log plugin in
MySQL 5.6.20, but the version number was not increased.
The version has been bumped to 1.1. (Bug #19502900)
* The server could exit due to an optimizer failure to
allocate enough memory for resolving outer references.
(Bug #18782905, Bug #19892803)
* If the audit log file was found to be corrupt at server
startup, an appropriate error message was not always
written. Also, if the plugin is loaded, it will be
initialized regardless of whether the log was corrupt,
except in the case that renaming the log file fails. (Bug
#14584292)
* Creating a FEDERATED table with an AUTO_INCREMENT column
using a LIKE clause results in a server exit. (Bug
#12671631)
* The group_concat_max_len system variable could be set to
its maximum value at runtime, but not in an option file.
(Bug #74037, Bug #19670915)
* A server warning error message referred to the obsolete
table_cache system variable rather than to
table_open_cache. Thanks to Daniël van Eeden for the
patch to fix some of the instances. (Bug #73373, Bug
#19285052, Bug #75081, Bug #20135780)
* In the DIGEST_TEXT column of Performance Schema statement
events tables, references to system variables of the form
@@var_name were stored as @ @ var_name. (Bug #71634, Bug
#18304086)
* If the WITH_SSL CMake option was specified with an
incorrect path to the SSL installation or the path to an
unsupported (too old) SSL installation, the option was
implicitly changed to the bundled value and yaSSL was
used instead. Now CMake exits with an error so the user
knows that the option value must be changed. (Bug #69744,
Bug #17162055)
* mysql_real_connect() could close a file descriptor twice
if the server was not running. (Bug #69423, Bug
#19226740)
* Notification of events for the general log were received
by the audit log plugin only of the general query log was
enabled. Now notifications are posted regardless of
whether the general query log is enabled. (Bug #60782,
Bug #12368204, Bug #20536590)
On behalf of Oracle/MySQL RE Team
Vishal Chaudhary
Thread |
---|
• MySQL Community Server 5.6.24 has been released | Vishal Chaudhary | 7 Apr |