MySQL Community Server 5.5.39 has been released
Murthy Narkedimilli <[email protected]>
| Newsgroups | gmane.comp.db.mysql.announce,gmane.comp.db.mysql.general,gmane.comp.db.mysql.packagers |
|---|---|
| Message-ID | <[email protected]> |
Dear MySQL users,
MySQL Server 5.5.39 is a new version of the 5.5 production release
of the world's most popular open source database. MySQL 5.5.39 is
recommended for use on production systems.
MySQL 5.5 includes several high-impact enhancements to improve the
performance and scalability of the MySQL Database, taking advantage of
the latest multi-CPU and multi-core hardware and operating systems. In
addition, with release 5.5, InnoDB is now the default storage engine for
the MySQL Database, delivering ACID transactions, referential integrity
and crash recovery by default.
MySQL 5.5 also provides a number of additional enhancements including:
- Significantly improved performance on Windows, with various
Windows specific features and improvements
- Higher availability, with new semi-synchronous replication and
Replication Heartbeat
- Improved usability, with Improved index and table partitioning,
SIGNAL/RESIGNAL support and enhanced diagnostics, including a new
Performance Schema monitoring capability.
For a more complete look at what's new in MySQL 5.5, please see the
following resources:
MySQL 5.5 is GA, Interview with Tomas Ulin:
http://dev.mysql.com/tech-resources/interviews/thomas-ulin-mysql-55.html
Documentation:
http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html
Whitepaper: What's New in MySQL 5.5:
http://www.mysql.com/why-mysql/white-papers/whats-new-in-mysql-5-5/
If you are running a MySQL production level system, we would like to
direct your attention to MySQL Enterprise Edition, which includes the
most comprehensive set of MySQL production, backup, monitoring,
modeling, development, and administration tools so businesses can
achieve the highest levels of MySQL performance, security and uptime.
http://mysql.com/products/enterprise/
For information on installing MySQL 5.5.39 on new servers, please see
the MySQL installation documentation at
http://dev.mysql.com/doc/refman/5.5/en/installing.html
For upgrading from previous MySQL releases, please see the important
upgrade considerations at:
http://dev.mysql.com/doc/refman/5.5/en/upgrading.html
MySQL Database 5.5.39 is available in source and binary form for a
number of platforms from our download pages at:
http://dev.mysql.com/downloads/mysql/
The following section lists the changes in the MySQL source code since
the previous released version of MySQL 5.5. It may also be viewed
online at:
http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-39.html
Enjoy!
Changes in MySQL 5.5.39 (2014-07-31)
Functionality Added or Changed
* CMake support was updated to handle CMake version 3. (Bug
#19001781)
* The timed_mutexes system variable has no effect and is
deprecated.
Bugs Fixed
* InnoDB: Opening an parent table that has thousands of child
tables could result in a long semaphore wait condition. (Bug
#18806829)
* Partitioning: Selecting from a table having multiple columns
in its primary key and partitioned by LIST COLUMNS(R), where R
was the last (rightmost) column listed in the primary key
definition, returned an incorrect result. (Bug #17909699, Bug
#71095)
* Replication: Quotation marks were not always handled correctly
by LOAD DATA INFILE when written into the binary log. (Bug
#18207212, Bug #71603)
* Replication: A group of threads involved in acquiring locks
could deadlock when the following events occurred:
1. Dump thread reconnects from slave; on master, a new dump
thread tries to kill zombie dump threads; having acquired
the thread's LOCK_thd_data, it is about to acquire
LOCK_log.
2. Application thread executing show binary logs, having
acquired LOCK_log and about to acquire LOCK_index.
3. Application thread executing PURGE BINARY LOGS; having
acquired LOCK_index, it is about to acquire
LOCK_thread_count.
4. Application thread executing SHOW PROCESSLIST (or SELECT
* FROM INFORMATION_SCHEMA.PROCESSLIST), having acquired
LOCK_thread_count and about to acquire the zombie dump
thread's LOCK_thd_data.
This leads to the 4 threads deadlocking in the same order
which the threads have been listed here.
This problem arises because there are ordering rules for
LOCK_log and LOCK_index, as well as rules for ordering
LOCK_thread_count and LOCK_thd_data, but there are no rules
for ordering across these two sets of locks. This was because
the internal mysqld_list_processes() function invoked by SHOW
PROCESSLIST acquired LOCK_thread_count for the complete
lifetime of the function as well as acquiring and releasing
each thread's LOCK_thd_data. Now this function takes a copy of
the threads from the global thread list and performs its
traversal on these, and only after releasing
LOCK_thread_count. During this traversal, removal from the
global thread list is blocked using LOCK_thd_remove such that
the copies that would otherwise be destroyed by the removal
remain valid during traversal. The locking order following
this fix is shown here:
LOCK_thd_remove -> LOCK_thd_data -> LOCK_log -> LOCK_index -> LOCK_th
read_count
(Bug #17283409, Bug #69954)
* SHA and MD5 functions failed for operations using the internal
filename character set and could cause a server exit. (Bug
#18786138)
* (Bug #18715670)
* Compiler flags were not passed to DTrace, causing problems for
32-bit builds cross-compiled on 64-bit platforms. (Bug
#18593044)
* mysqladmin password masked the old password given on the
command line, but not the new password. (Bug #18163964)
* yaSSL code had an off-by-one error in certificate decoding
that could cause buffer overflow.
yaSSL code had an opendir() without a corresponding
closedir(). (Bug #18178997, Bug #17201924)
* MyISAM temporary files could be used to mount a code-execution
attack. (Bug #18045646)
* If a query had both MIN()/MAX() and
aggregate_function(DISTINCT) (for example, SUM(DISTINCT)) and
was executed using Loose Index Scan, the result values of
MIN()/MAX() were set improperly. (Bug #17217128)
* For UNION statements, the rows-examined value was calculated
incorrectly. This was manifest as too-large values for the
ROWS_EXAMINED column of Performance Schema statement tables
(such as events_statements_current). (Bug #17059925)
* Use of a nonmulti-byte algorithm for skipping leading spaces
in multi-byte strings could cause a server exit. (Bug
#12368495, Bug #18315770)
* Deadlock could occur if three threads simultaneously performed
INSTALL PLUGIN, SHOW VARIABLES, and mysql_change_user(). (Bug
#71236, Bug #18008907, Bug #72870, Bug #18903155)
* MySQL did not compile with Bison 3. A workaround is to
downgrade to Bison 2. (Bug #71250, Bug #18017820, Bug
#18978946)
* Uninstalling and reinstalling semisynchronous replication
plugins while semisynchronous replication was active caused
replication failures. The plugins now check whether they can
be uninstalled and produce an error if semisynchronous
replication is active. To uninstall the master-side plugin,
there must be no semisynchronous slaves. To uninstall the
slave-side plugin, there must be no semisynchronous I/O
threads running. (Bug #70391, Bug #17638477)
* If there was a predicate on a column referenced by MIN() or
MAX() and that predicate was not present in all the
disjunctions on key parts earlier in the compound index, Loose
Index Scan returned an incorrect result. (Bug #71097, Bug
#17909656)
* File permissions and line endings of several test and
configuration files were made more consistent to avoid
warnings from package checkers. (Bug #68521, Bug #16415173,
Bug #16395459, Bug #68517, Bug #16415032, Bug #71112, Bug
#17919313, Bug #71113, Bug #17919422)
On behalf of Oracle/MySQL RE Team,
Murthy Narkedimilli
--
MySQL Announce Mailing List
For list archives: http://lists.mysql.com/announce
To unsubscribe: http://lists.mysql.com/announce