Dear MySQL users,
MySQL Server 5.5.55 is a new version of the 5.5 production release
of the world's most popular open source database. MySQL 5.5.55 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
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.55 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.55 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-55.html
Enjoy!
Changes in MySQL 5.5.55 (2017-04-10, General availability)
* Compilation Notes
* Configuration Notes
* Packaging Notes
* Security Notes
* Thread Pool Notes
* Functionality Added or Changed
* Bugs Fixed
Compilation Notes
* Windows builds now use the default runtime libraries
(builds use the /MD flag). (Bug #25611609)
Configuration Notes
* MySQL failed to compile if -DENABLE_DEBUG_SYNC=OFF AND
-DWITH_DEBUG=ON were both given. The ENABLE_DEBUG_SYNC
option has been removed and enabling WITH_DEBUG enables
Debug Sync. (Bug #18374703)
Packaging Notes
* Reminder: MySQL 5.5 requires the Microsoft Visual C++
2008 Redistributable Package to run on Windows platforms.
Users should make sure the package has been installed on
the system before starting the server. The package is
available at the Microsoft Download Center
(http://www.microsoft.com/en-us/download/default.aspx).
Security Notes
* The mysql_options() C API function now supports a
MYSQL_OPT_SSL_MODE option. The only permitted option
value is SSL_MODE_REQUIRED, to require a secure
connection to the server. It causes mysql_real_connect()
to fail if an encrypted connection cannot be obtained,
without falling back to an unencrypted connection. Thus,
mysql_real_connect() returns an error if the server does
not support SSL or the client is not configured to use
SSL. The client/server exchange terminates immediately
after the initial server packet has been received if the
server indicates that it does not support SSL.
To require an encrypted connection in MySQL 5.5, the
standard MySQL client programs call mysql_options() to
set MYSQL_OPT_SSL_MODE if the --ssl-mode=REQUIRED
command-line option was specified. Third-party
applications that must be able to require encrypted
connections can use the same technique. For details, see
mysql_ssl_set()
(http://dev.mysql.com/doc/refman/5.5/en/mysql-ssl-set.html).
The minor C API version number was not incremented for
this change. Application programs compiled for MySQL 5.5
that require MYSQL_OPT_SSL_MODE may fail to operate
properly if the dynamic loader provides an older client
library without MYSQL_OPT_SSL_MODE. Such applications
must be written to handle this possibility by checking
whether the mysql_options() call succeeds or fails. (Bug
#25575605)
Thread Pool Notes
* To improve thread_pool plugin performance, connection
authentication and initialization have been moved from
the acceptor thread to the thread pool worker threads
that handle client connections. This enables the acceptor
thread to handle new connections at a higher rate with
reduced latency. The INFORMATION_SCHEMA
TP_THREAD_GROUP_STATE table now contains a
CONNECT_THREAD_COUNT column that indicates the number of
threads that are processing or waiting to process
connection initialization and authentication. There can
be a maximum of four connection threads per thread group;
these threads expire after a period of inactivity. (Bug
#17159742)
Functionality Added or Changed
* Solaris packages are now marked as dependent on /bin/bash
because some scripts need features not present in the
default shell /bin/sh. (Bug #25136289)
* mysql_secure_installation is more strict about what it
considers valid yes and no responses. (Bug #13344753, Bug
#62925)
Bugs Fixed
* InnoDB: A server exit on restart was caused by missing
my_thread_init() and my_thread_exit() functions for
background threads that initialize the st_my_thread_var
structure. (Bug #25167032)
* mysqldump failed to properly quote certain identifiers in
SQL statements written to the dump output. (Bug
#25717383)
* For CREATE TABLE statements that specified the table name
with a database qualifier and included a DATA DIRECTORY
or INDEX DIRECTORY option, an error occurred if there was
no default database. (Bug #25514146, Bug #84861)
* mysqld_safe did not check whether the directory named by
the --basedir option existed. (Bug #25365194)
* mysqld_safe failed if the error log file named by the
--log-error option was a FIFO. (Bug #25356221, Bug
#84427)
* mysqld_safe could fail if the --datadir option value
ended with a / character. (Bug #25319457)
* A recent change to mysqld_safe caused the mysql.server
script to be unable to start it if the base directory was
specified as an absolute path that differed from the
compiled-in default absolute path. (Bug #25319392, Bug
#84263)
* For System V init scripts for RPMs, the [mysqld]
option-file section was being ignored for some options,
such as pid-file. (Bug #25287707, Bug #84172)
* Init scripts failed to launch mysqld_safe if a
non-default base directory was used. (Bug #25261472, Bug
#84219)
* mysqld_safe --no-defaults did not work (inadvertent
consequence of an earlier bug fix). (Bug #25244898, Bug
#84173)
* For a client linked against libmysqlclient, invalid
memory access could occur during use of prepared
statements. (Bug #25164932)
* The fix for Bug #25088048 caused the command used by
mysqld_safe to start the MySQL server to no longer
include the mysqld path. (Bug #25144379)
References: This issue is a regression of: Bug #25088048.
* Changes made to mysqld_safe in recent MySQL releases
require the --ledir, --mysqld, --mysqld-version options
to be specified on the command line; they can no longer
be specified in option files. This could cause failure of
init scripts that invoke mysqld_safe. Such scripts now
pass the value of the MYSQLD_OPTS environment variable as
the first command-line argument to mysqld_safe, with the
value set to such command line-only mysqld_safe option
values as may be required. On platforms that use
/etc/sysconfig/mysqld, the MYSQLD_OPTS value can be set
in that file with a line such as this:
MYSQLD_OPTS=" --ledir=/mysqld_ledir --mysqld=my_wrapper "
The value of MYSQLD_OPTS can also include mysqld options
for mysqld_safe to pass to mysqld. (Bug #24619033, Bug
#82920)
References: This issue is a regression of: Bug #24464380,
Bug #24483092, Bug #25088048, Bug #25378439, Bug
#25378565.
* For LOAD DATA used to insert data into an updateable
view, the check to verify whether a column is actually
updatable was missing. (Bug #24595937)
* A regular expression pattern match into a large string
could result in a server exit due to memory allocation
failure or integer overflow. (Bug #24449076, Bug
#24449090)
* An incorrect error was reported for CREATE TABLE
statements with a large value for the CONNECTION table
option. The value is now limited to 1024 bytes. (Bug
#24437124)
* Grant tables with incorrect structure may cause problems
in user management operations. As a consequence of the
fix for this, for any operation that modifies a grant
table, the server now checks whether the table has the
expected structure and produces an error if not.
mysql_upgrade must be run to update the tables to the
expected structure. (Bug #23295423, Bug #25095876, Bug
#25448037)
* The QUOTE() function could allocate excessive memory. A
limit of max_allowed_packet bytes is now imposed and
returns NULL with a warning for attempts to allocate
more. (Bug #23195404)
* When attempting to locate the data directory, mysqld_safe
incorrectly considered $MY_BASEDIR_VERSION/var as one of
the possible locations. (Bug #23013510, Bug #80866)
* The main.log_tables-big test case could be unstable on
highly loaded hosts. Thanks to Laurynas Biveinis for the
patch. (Bug #22874167, Bug #80607)
* On non-Linux Unix systems, the mysql.server startup
script used the Linux command pidof rather than pgrep.
(Bug #13788154, Bug #64342)
* Starting multiple instances of mysqld_safe after an
abnormal server exit could result in one mysqld_safe
instance killing another. As a consequence of the bug
fix, the mysqld_safe.pid file is no longer used. (Bug
#11751149, Bug #41908)
* The --help message for mysqld_safe was corrected to
mention that the --no-defaults, --defaults-file, and
--defaults-extra-file options, if given, must be the
first argument. (Bug #11745176, Bug #11192)
* The bounds check for the XML parser position stack for
each level (which has a fixed depth) used the size of the
array as the upper limit, and so was off by one. This is
fixed by decreasing the allowable depth by one, which
actually matches the maximum number of elements in the
position stack. (Bug #83871, Bug #25111907)
References: See also: Bug #14040071, Bug #15948580.
On Behalf of MySQL/ORACLE RE Team
Gipson Pulla
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql