Documentation Home
MySQL 5.5 Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 1.7Mb
PDF (A4) - 1.7Mb

MySQL 5.5 Release Notes  /  Changes in MySQL 5.5.35 (2013-12-03, General Availability)

Changes in MySQL 5.5.35 (2013-12-03, General Availability)

Packaging Notes

  • Previously, MySQL Server distributions included the MySQL Reference Manual in Info format (the Docs/ file). Because the license for the manual restricts redistribution, its inclusion in Community packages caused problems for downstream redistributors, such as those who create Linux distributions. Community distributions of MySQL Server no longer include the file, to make the repackaging and redistribution process easier (for example, the source tarball and its checksum can be used directly). This change applies to all source and binary Community packaging formats. Commercial (Enterprise) distributions are unchanged.

    For those who wish to continue using the MySQL Reference Manual in Info format, we have made it available at

Functionality Added or Changed

  • A new CMake option, WITH_ASAN, permits enabling AddressSanitizer for compilers that support it. (Bug #17435338)

  • Attempts to use the thread_concurrency system variable (which has an effect only for Solaris 8 and earlier) now indicate that it has no effect when that is the case. (Bug #67944, Bug #16032946)

Bugs Fixed

  • InnoDB: CHECK TABLE would ignore the QUICK option. (Bug #17513737)

  • InnoDB: Running SHOW ENGINE INNODB STATUS on one connection thread and killing that thread by running a KILL CONNECTION statement from a different connection thread would result in a severe error. (Bug #17474166)

  • InnoDB: In debug builds, test case failures would occur due to ibuf_contract_ext performing merges and dict_stats_update returning evicted pages back into the buffer pool while ibuf_change_buffering_debug is enabled. (Bug #17446090)

  • InnoDB: InnoDB failed to return an error when attempting to run a query after discarding the tablespace. (Bug #17431533)

  • InnoDB: When the change buffer is enabled, InnoDB failed to write a transaction log record when merging a record from the insert buffer to a secondary index page if the insert was performed as an update-in-place. (Bug #16752251, Bug #69122)

  • InnoDB: When index_read_map is called for an exact search and fails to return a record due to non-matching search criteria, the cursor would be positioned on the next record after the searched key. A subsequent call to index_next would return the next record instead of returning the previous non-matching row, thereby skipping a record. (Bug #14621190, Bug #15965874, Bug #17314241, Bug #70038, Bug #17413093, Bug #12860669, Bug #60220, Bug #17565888)

  • InnoDB: Converting a table with a large number of columns from MyISAM to InnoDB would cause an assertion due to insufficient log buffer space. Instead of asserting, InnoDB now attempts to increase log buffer size automatically if the redo log size is too large. (Bug #11758196, Bug #50366)

  • Partitioning: The storage engine was set incorrectly during a rebuild of a partition; the table storage engine was ignored and the default storage engine used instead. Thus, in MySQL 5.1, it was possible for REBUILD PARTITION to change the partition storage engine from InnoDB to MyISAM, and for the reverse (rebuilding partitions of MyISAM tables causing the partitions to use InnoDB) to occurin MySQL 5.5 and later. Now, when rebuilding partitions, the storage engine actually used by the table is checked and used by the handler for the rebuild operation, so that the partition storage engine is not inadvertently changed. (Bug #17559867)

  • Partitioning: After disabling the parent table's indexes with ALTER TABLE ... DISABLE KEYS, rebuilding any of its partitions enabled the indexes on those partitions, leading MyISAM to fail with an error when the optimizer tried to use one of the affected indexes.

    Now in such cases, we check for disabled indexes on the table before rebuilding any of its partitions. If the indexes have been disabled, then we disable them on the partition following the rebuild. (Bug #16051817)

  • Replication: A replication master did not handle correctly the disabling of the semisync plugin on the master and the slave, with a subsequent stopping of the slave. (Bug #17460821, Bug #70349)

  • Replication: The final argument in the SET clause of a LOAD DATA ... SET statement was repeated in the binary log. (Bug #17429677, Bug #70277)

  • Replication: When an error encountered by the dump thread while reading events from the active binary log file was a temporary error, so that the dump thread tried to read the event, it was possible for the dump thread to seek the wrong position, which could cause one or more events to be resent. To prevent this, the thread's position is obtained after each correct read of an event.

    In addition, with this fix, only binary logs that are not closed normally are marked as possibly being corrupted.

    Finally, two warnings are added; these are now returned when a dump thread encounters a temporary error. (Bug #17402313)

  • Replication: Setting rpl_semi_sync_master_enabled while the master was waiting for a reply from the slave could in some cases cause the master to fail. (Bug #17327454, Bug #70045)

  • Replication: The value of LAST_INSERT_ID() was not correctly replicated when filtering rules were used on the slave. (Bug #17234370, Bug #69861)

  • Enabling Index Merge optimizer switches and setting a small sort_buffer_size value could lead to a server exit. (Bug #17617945)

  • Some license and documentation files were missing from Windows MSI packages. (Bug #17584523)

  • The filesort implementation sometimes failed to allocate enough buffer space, leading to a server exit. (Bug #17326567)

  • The mysql_options() C API function could leak memory if called more than once with the MYSQL_SET_CLIENT_IP option. (Bug #17297012)

  • The CONV() function could call abs(INT_MIN), which is undefined, and cause a server exit. (Bug #17296644)

  • An error array in the SSL code was missing a comma, leading to implicit concatenation of adjacent messages and a resulting off-by-one error in the relationship between error numbers and messages. (Bug #17294150)

  • GROUP_CONCAT() with an invalid separator could cause a server exit. (Bug #16870783)

  • An internal InnoDB string routine could write past the end of a buffer. (Bug #16765410)

  • Using the binary client/server protocol, the second execution of a prepared statement for a query with parameters in the LIMIT clause raised an assertion. (Bug #16346241)

  • The usual failed-login attempt accounting was not applied to failed COM_CHANGE_USER commands. (Bug #16241992, Bug #17357535)

  • Very long database names in queries could cause the server to exit. (Bug #15912213, Bug #16900358)

  • Standalone Windows MSI packages did not have the ALLUSERS property set. They now set ALLUSERS=1. For earlier MSI packages in this MySQL series, a workaround is to use the following command:

    C:\> msiexec /i msi_installer_name ALLUSERS=1

    (Bug #14647206)

  • Some .pdb files were missing from Windows Zip archive distributions. (Bug #13878021)

  • COUNT(DISTINCT) should not count NULL values, but they were counted when the optimizer used Loose Index Scan. (Bug #69841, Bug #17222452)

  • For queries of the form UPDATE ... WHERE unique_key ORDER BY ... LIMIT ..., incorrect rows could be updated. Unique keys permit multiple NULL values, but the optimizer did not always consider all of them. (Bug #68656, Bug #16482467)

  • The my_b_vprintf() function could produce incorrect results for long integers on 64-bit systems. (Bug #67386, Bug #16978278)

  • Host names in grant tables are stored in lowercase, but mysql_install_db could fail to observe this convention, leading to accounts that could not be dropped with DROP USER. (Bug #62255, Bug #12917164, Bug #62254, Bug #12917151)

  • Killing a query that is performing a filesort operation resulted in an ER_SERVER_SHUTDOWN (Server shutdown in progess) error. (Bug #18256, Bug #11745656)