MySQL Forums
Forum List  »  Announcements

MySQL Community Server 5.5.32 has been released
Posted by: Ramesh Maddali
Date: June 06, 2013 07:58AM

Dear MySQL users,

MySQL Server 5.5.32 is a new version of the 5.5 production release of the
world's most popular open source database. MySQL 5.5.32 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.32 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.32 is available in source and binary form for a
number of platforms from our download pages at:
http://dev.mysql.com/downloads/mysql/5.5.html#downloads

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-32.html

Enjoy!


Changes in MySQL 5.5.32 (2013-06-03)

Functionality Added or Changed

* mysql_upgrade now verifies that the server version matches the
version against which it was compiled, and exits if there is a
mismatch. In addiion, a --version-check option permits
specifying whether to enable version checking (the default),
or disable checking if given as --skip-version-checking. (Bug
#16500013)

Bugs Fixed

* Important Change; Replication: When the server was running
with --binlog-ignore-db and SELECT DATABASE() returned NULL
(that is, there was no currently selected database),
statements using fully qualified table names in dbname.tblname
format were not written to the binary log. This was because
the lack of a currently selected database in such cases was
treated as a match for any possible ignore option rather than
for no such option; this meant that these statements were
always ignored.
Now, if there is no current database, a statement using fully
qualified table names is always written to the binary log.
(Bug #11829838, Bug #60188)

* InnoDB: After a clean shutdown, InnoDB does not check .ibd
file headers at startup. As a result, in a crash recovery
scenario, InnoDB could load a corrupted tablespace file. This
fix implements consistency and status checks to avoid loading
corrupted files. (Bug #16720368)

* InnoDB: The page_zip_available function would count some
fields twice. (Bug #16463505)

* InnoDB: In debug builds, an insert would fail with an invalid
assertion: sync_thread_levels_g(array, level - 1, TRUE). (Bug
#16409715)

* InnoDB: Multiple concurrent calls to dict_update_statistics()
would result in unnecessary server load. (Bug #16400412)

* InnoDB: Crash recovery would fail with a !recv_no_log_write
assertion when reading a page. (Bug #16405422)

* InnoDB: When calling the lock_rec_block_validate() function
after releasing the kernel mutex, there is a chance the lock
might be invalid and result in a Valgrind error due to an
invalid read on lock->index. This fix copies the lock->index
when the kernel mutex is being held and passes the lock->index
to lock_rec_block_validate(). (Bug #16268289)

* InnoDB: When a transaction is in READ COMMITTED isolation
level, gap locks are still taken in the secondary index when a
row is inserted. This occurs when the secondary index is
scanned for duplicates. The function
row_ins_scan_sec_index_for_duplicate() always calls the
function row_ins_set_shared_rec_lock() with LOCK_ORDINARY
irrespective of the transaction isolation level. This fix
modifies the row_ins_scan_sec_index_for_duplicate() function
to call row_ins_set_shared_rec_lock() with LOCK_ORDINARY or
LOCK_REC_NOT_GAP, based on the transaction isolation level.
(Bug #16133801)

* InnoDB: Starting mysqld with --innodb_log_buffer_size=50GB
failed to allocate memory and returned NULL. For non-debug
builds there was no check in place and a segmentation fault
occurred. This fix adds a log message stating that memory
failed to be allocated, and adds an assertion. (Bug #16069598)

* InnoDB: When UNIV_DEBUG is enabled in debug builds,
buf_validate() is often called which sometimes results in
false alarms in tests on semaphore wait timeout. This fix
increases counter values to reduce false alarms. (Bug
#16068056)

* InnoDB: The explain_filename function, which provides
information about a partition by parsing the file name, would
return an error when attempting to parse a file name with no
partition information. (Bug #16051728)

* InnoDB: For UPDATE statements in which an error occurred, it
was possible for a temporary file opened during the update not
to be closed. (Bug #15978766)

* InnoDB: An overflow would occur for innodb_row_lock_time_max
and innodb_row_lock_current_waits. This fix modifies code
logic in storage/innobase/srv/srv0srv.c. (Bug #16005310)

* Replication: Point-in-time recovery could fail when trying to
restore a single database from a binary log in row-based
format using mysqlbinlog with the --database option. (Bug
#16698172)

* Replication: When used with the options --dump-slave
--include-master-host-port, mysqldump printed the port number
within quotation marks, as if it were a string value rather
than an integer. (Bug #16615117)

* Replication: Running the server with both the
--log-slave-updates and --replicate-wild-ignore-table options
in some cases caused updates to user variables not to be
logged. (Bug #16541422)

* Replication: Following disconnection from the master, the
slave could under certain conditions report erroneously on
reconnection that it had received a packet that was larger
than slave_max_allowed_packet, causing replication to fail.
(Bug #16438800, Bug #68490)

* Replication: When semisynchronous replication was enabled, the
automatic dropping on the master of an event created using ON
COMPLETION NOT PRESERVE caused the master to fail. (Bug
#15948818, Bug #67276)

* Replication: Setting a SET column to NULL inside a stored
procedure caused replication to fail. (Bug #14593883, Bug
#66637)

* Replication: When replicating to a BLACKHOLE table using the
binary logging format, updates and deletes cannot be applied
and so are skipped. Now a warning is generated for this
whenever it occurs.
Note
binlog_format=STATEMENT is recommended when replicating to
tables that use the BLACKHOLE storage engine.
(Bug #13004581)

* The WKB reader for spatial operations could fail and cause a
server exit. (Bug #16451878)

* EXPORT_SET() or MAKE_SET() with many COUNT(*) arguments could
cause a server exit. (Bug #16359402)

* Several scripts in the sql-bench directory that were supposed
to be executable did not have the executable access bit set.
(Bug #16395606)

* For debug builds, DBUG_EXPLAIN resulted in a buffer overflow
when the debug system variable value was more than 255
characters. (Bug #16402143)

* thread_pool_high_priority_connection could not be set at
server startup. (Bug #16310373)

* Oracle RPM packages were unusable by yum due to issues with
the obsoletes line in the .spec file causing yum to interpret
the package as obsoleting itself. (Bug #16298542)

* A GROUP_CONCAT() invocation containing subquery having an
outer reference caused the server to exit. (Bug #16347343)

* For debug builds, GROUP_CONCAT(... ORDER BY) within an ORDER
BY clause could cause a server exit. (Bug #16347426)

* If loose index scan was used on a query that used MIN(), a
segmentation fault could occur. (Bug #16222245)

* If multiple statements were sent in a single request, the
audit log plugin logged only the last one. Now it logs each
statement separately. (Bug #16169063)

* A prepared statement that used GROUP_CONCAT() and an ORDER BY
clause that named multiple columns could cause the server to
exit. (Bug #16075310)

* ORDER BY MATCH ... AGAINST could cause a server exit. (Bug
#16073689)

* When a partition is missing, code in ha_innodb.cc would retry
10 times and sleep for a microsecond each time while holding
LOCK_open. The retry logic for partitioned tables was
introduced as a fix for Bug#33349 but did not include a test
case to validate it. This fix removes the retry logic for
partitioned tables. If the problem reported in Bug#33349
reappears, a different solution will be explored. (Bug
#15973904)

* The mysql.server script exited with an error if the status
command was executed with multiple servers running. (Bug
#15852074)

* A query with a union and a join could crash the parser. (Bug
#14786792, Bug #16076289)

* Installation using Solaris packages ran mysql_install_db
during upgrade operations (this should occur only for new
installations). (Bug #14747671, Bug #16534721)

* When processing row-based-replication events in the old binary
log format from prior to MySQL 5.1 GA builds, mysqlbinlog
could result in out-of-bounds heap buffer reads and undefined
behaviour. (Bug #14771299)

* The mysql client allocated but did not free a string after
reading each line in interactive mode, resulting in a memory
leak. (Bug #14685362)

* INSERT ... ON DUPLICATE KEY UPDATE on a view could cause a
server exit. (Bug #14261010)

* Grouping by an outer BLOB column in a subquery caused a server
exit. (Bug #13966809, Bug #14700180)

* The server could exit due to improper handling of the error
from an invalid comparison. (Bug #13009341)

* The CMake check for unsigned time_t failed on all platforms.
(Bug #11766815)

* On 64-bit Mac OS X systems, CMake used x86 rather than x86_64
when determining the machine type. (Bug #58462, Bug #11765489)

* The parser rejected legal queries that involved a UNION where
the right hand side query term has a table in parenthese. (Bug
#54382, Bug #11761854)

* The url columns in the mysql datatbase help tables were too
short to hold some of the URLs in the help content. For new
installations, these columns are now created as type TEXT to
accommodate longer URLs.
For upgrades, mysql_upgrade does not update the columns.
Modify them manually using these statements:
ALTER TABLE mysql.help_category MODIFY url TEXT NOT NULL;
ALTER TABLE mysql.help_topic MODIFY url TEXT NOT NULL;
(Bug #61520, Bug #12671635)

* If Loose Index Scan was used to evaluate a query that compared
an integer column to an integer specified as a quoted string
(for example, col_name = '1'), the query could return
incorrect results. (Bug #68473, Bug #16394084)

* IF() function evaluations could produce different results when
executed in a prepared versus nonprepared statement. (Bug
#45370, Bug #11753852)

* It is now possible to suppress installation of the mysql-test
directory after compiling MySQL from source by invoking CMake
with the INSTALL_MYSQLTESTDIR option explicitly set to empty:
cmake . -DINSTALL_MYSQLTESTDIR=
Previously, attempts to do this resulted in an error. (Bug
#58615, Bug #11765629)

* Using range access with an index prefix could produce
incorrect results. (Bug #68750, Bug #16540042)

* MD5() code did not properly initialize one of its data
structures. (Bug #68909, Bug #16626742)

* When specified in an option file, the plugin-dir client option
was ignored. (Bug #68800, Bug #16680313)

* If an UPDATE containing a subquery caused a deadlock inside
InnoDB, the deadlock was not properly handled by the SQL
layer. The SQL layer then tried to unlock the row after InnoDB
rolled back the transaction, raising an assertion inside
InnoDB. (Bug #69127, Bug #16757869)

On behalf of Oracle MySQL RE Team

Ramesh Maddali

Options: ReplyQuote


Subject
Views
Written By
Posted
MySQL Community Server 5.5.32 has been released
3032
June 06, 2013 07:58AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.