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.54 (2016-12-12, General availability)

Changes in MySQL 5.5.54 (2016-12-12, General availability)

Security Notes

  • Incompatible Change: These changes were made to mysqld_safe:

    • Unsafe use of rm and chown in mysqld_safe could result in privilege escalation. chown now can be used only when the target directory is /var/log. An incompatible change is that if the directory for the Unix socket file is missing, it is no longer created; instead, an error occurs. Due to these changes, /bin/bash is required to run mysqld_safe on Solaris. /bin/sh is still used on other Unix/Linux platforms.

    • The --ledir option now is accepted only on the command line, not in option files.

    • mysqld_safe ignores the current working directory.

    Other related changes:

    • Initialization scripts that invoke mysqld_safe pass --basedir explicitly.

    • Initialization scripts create the error log file only if the base directory is /var/log or /var/lib.

    • Unused systemd files for SLES were removed.

    (Bug #24483092, Bug #25088048, Bug #25378439, Bug #25378565)

    References: See also: Bug #24464380, Bug #24388753, Bug #24619033, Bug #82920.

Bugs Fixed

  • Incompatible Change: A change made in MySQL 5.5.51 for handling of multibyte character sets by LOAD DATA was reverted due to the replication incompatibility that it caused. (Bug #24487120, Bug #82641)

    References: See also: Bug #23080148.

  • InnoDB: The GCC mach_parse_compressed function should load one to five bytes depending on the value of the first byte. Due to a GCC bug, GCC 5 and 6 emit code to load four bytes before the first byte value is checked (GCC Bug #77673). A workaround prevents this behavior. Thanks to Laurynas Biveinis for the patch. (Bug #24707869, Bug #83073)

  • Some Linux startup scripts did not process the datadir setting correctly. (Bug #25159791)

  • CREATE TABLE now requires the FILE privilege if DATA DIRECTORY or INDEX DIRECTORY is specified explicitly as a table or partition option. ALTER TABLE requires the FILE privilege if either option is specified explicitly as a partition option (it ignores them if specified as table options). (Bug #25092566)

  • OEL RPM packages now better detect which platforms have multilib support (for which 32-bit and 64-bit libraries can be installed). Thanks to Alexey Kopytov for the patch. (Bug #24925181, Bug #83457)

  • If mysqladmin shutdown encountered an error determining the server process ID file, it displayed an error message that did not clearly indicate the error was nonfatal. It now indicates that execution continues. (Bug #24496214)

  • The data structure used for ZEROFILL columns could experience memory corruption, leading eventually to a server exit. (Bug #24489302)

  • Use of very long subpartition names could result in a server exit. Now partition or subpartition names larger than 64 characters produce an ER_TOO_LONG_IDENT error. (Bug #24400628, Bug #82429)

  • On Solaris, gettimeofday() could return an invalid value and cause a server shutdown. (Bug #23499695)

  • A union query resulting in tuples larger than max_join_size could result in a server exit. (Bug #23303485)

  • For some deeply nested expressions, the optimizer failed to detect stack overflow, resulting in a server exit. (Bug #23135667)

  • The --character-set-server option could set connection character set system variables to values such as ucs2 that are not permitted. (Bug #15985752, Bug #23303391)