MySQL Community Server 5.5.10 has been released

MySQL Community Server 5.5.10 has been released

am 16.03.2011 19:51:20 von Hery Ramilison

Dear MySQL users,

MySQL 5.5.10 is a new version of the 5.5 production release of the
world's most popular open source database. MySQL 5.5.10 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 Heart Beat
- Improved usability, with Improved index and table partitioning,
SIGNAL/RESIGNAL support and enhanced diagnostics, including a new
PERFORMANCE_SCHEMA

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-m ysql-55.html

Documentation:

http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html

Whitepaper: What's New in MySQL 5.5:

http://dev.mysql.com/why-mysql/white-papers/mysql-wp-whatsne w-mysql-55.php

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.10 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 is available in source and binary form for a number
of platforms from our download pages at:

http://dev.mysql.com/downloads/mysql/

Not all mirror sites may be up to date at this point in time, so if you
can't find this version on some mirror, please try again later or choose
another download site.

We welcome and appreciate your feedback, bug reports, bug fixes,
patches, etc.:

http://forge.mysql.com/wiki/Contributing

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/refman/5.5/en/news-5-5-10.html

----

D.1.2. Changes in MySQL 5.5.10

Configuration Notes:

* MySQL releases are now built on all platforms using CMake
rather than the GNU autotools, so autotools support has been
removed. For instructions on building MySQL with CMake, see
Section 2.11, "Installing MySQL from Source." Third-party
tools that need to extract the MySQL version number formerly
found in configure.in can use the VERSION file. See Section
2.11.6, "MySQL Configuration and Third-Party Tools."

C API Notes:

* Incompatible Change: The shared library version of the client
library was increased to 18 to reflect ABI changes, and avoid
compatibility problems with the client library in MySQL 5.1.
Note that this is an incompatible change between 5.5.10 and
earlier 5.5 versions, so client programs that use the 5.5
client library should be recompiled against the 5.5.10 client
library.

Functionality added or changed:

* MySQL distributions now include auth_socket, a server-side
authentication plugin that authenticates clients that connect
from the local host through the Unix socket file. The plugin
uses the SO_PEERCRED socket option to obtain information about
the user running the client program (and thus can be built
only on systems that support this option. For a connection to
succeed, the plugin requires a match between the login name of
the connecting client user and the MySQL user name presented
by the client program. For more information, see Section
5.5.6.1.4, "The Socket Peer-Credential Authentication Plugin."
(Bug #59017, Bug #11765993)

* The mysql_upgrade, mysqlbinlog, mysqlcheck, mysqlimport,
mysqlshow, and mysqlslap clients now have --default-auth and
--plugin-dir options for specifying which authentication
plugin and plugin directory to use. (Bug #58139)

* Boolean system variables can be enabled at run time by setting
them to the value ON or OFF, but previously this did not work
at server startup. Now at startup such variables can be
enabled by setting them to ON or TRUE, or disabled by setting
them to OFF or FALSE. Any other nonnumeric variable is
invalid. (Bug #46393)
See also Bug #51631.

* Previously, for queries that were aborted due to sort problem,
the server wrote the message Sort aborted to the error log.
Now the server writes more information to provide a more
specific message, such as:
[ERROR] mysqld: Sort aborted: Out of memory (Needed 24 bytes)
[ERROR] mysqld: Out of sort memory,
consider increasing server sort buffer size
[ERROR] mysqld: Sort aborted: Out of sort memory,
consider increasing server sort buffer size
[ERROR] mysqld: Sort aborted: Incorrect number of arguments for
FUNCTION test.f1; expected 0, got 1
In addition, if the server was started with --log-warnings=2,
the server write information about the host, user, and query.
(Bug #36022, Bug #11748358)

* mysqldump --xml now displays comments from column definitions.
(Bug #13618)

* MySQL distributions now include mysql_clear_password, a
client-side authentication plugin that sends the password to
the server without hashing or encryption. Although this is
insecure, and thus apprpropriate precautions should be taken
such as using an SSL connection, the plugin is useful in
conjunction with server-side plugins that must have access to
the original password in clear text. For more information, see
Section 5.5.6.1.3, "The Clear Text Client-Side Authentication
Plugin."

Bugs fixed:

* InnoDB Storage Engine: Raised the number of I/O requests that
each AIO
(http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_a io
) helper thread could process, from 32 to 256. The new limit
applies to Linux and Unix platforms; the limit on Windows
remains 32. (Bug #59472)

* InnoDB Storage Engine: InnoDB returned values for "rows
examined" in the query plan that were higher than expected.
NULL values were treated in an inconsistent way. The
inaccurate statistics could trigger "false positives" in
combination with the MAX_JOIN_SIZE setting, because the
queries did not really examine as many rows as reported. (Bug
#30423)

* Replication: When using the statement-based logging format,
INSERT ON DUPLICATE KEY UPDATE and INSERT IGNORE statements
affecting transactional tables that did not fail were not
written to the binary log if they did not insert any rows.
(With statement-based logging, all successful statements
should be logged, whether they do or do not cause any rows to
be changed.) (Bug #59338)

* Replication: Formerly, STOP SLAVE stopped the slave I/O thread
first and then stopped the slave SQL thread; thus, it was
possible for the I/O thread to stop after replicating only
part of a transaction which the SQL thread was executing, in
which case---if the transaction could not be rolled back
safely---the SQL thread could hang.
Now, STOP SLAVE stops the slave SQL thread first and then
stops the I/O thread; this guarantees that the I/O thread can
fetch any remaining events in the transaction that the SQL
thread is executing, so that the SQL thread can finish the
transaction if it cannot be rolled back safely. (Bug #58546)

* DES_DECRYPT() could crash if the argument was not produced by
DES_ENCRYPT(). (Bug #59632, Bug #11766505)

* The server and client did not always properly negotiate
authentication plugin names. (Bug #59453)

* --autocommit=ON did not work (it set the global autocommit
value to 0, not 1). (Bug #59432)

* A query of the following form returned an incorrect result,
where the values for col_name in the result set were entirely
replaced with NULL values:
SELECT DISTINCT col_name ... ORDER BY col_name DESC;
(Bug #59308, Bug #11766241)

* SHOW PRIVILEGES did not display a row for the PROXY privilege.
(Bug #59275)

* SHOW PROFILE could truncate source file names or fail to show
function names. (Bug #59273, Bug #11766214)

* DELETE or UPDATE statements could fail if they used DATE or
DATETIME values with a year, month, or day part of zero. (Bug
#59173)

* The ESCAPE clause for the LIKE operator allows only
expressions that evaluate to a constant at execution time, but
aggregate functions were not being rejected. (Bug #59149)

* Memory leaks detected by Valgrind, some of which could cause
incorrect query results, were corrected. (Bug #59110, Bug
#11766075)

* The DEFAULT_CHARSET and DEFAULT_COLLATION CMake options did
not work. (Bug #58991)

* An OUTER JOIN query using WHERE column IS NULL could return an
incorrect result. (Bug #58490, Bug #11765513)

* Starting the server with the --defaults-file=file_name option,
where the file name had no extension, caused a server crash.
(Bug #58455, Bug #11765482)

* Outer joins with an empty table could produce incorrect
results. (Bug #58422)

* In debug builds, SUBSTRING_INDEX(FORMAT(...), FORMAT(...))
could cause a server crash. (Bug #58371)

* When mysqladmin was run with the --sleep and --count options,
it went into an infinite loop executing the specified command.
(Bug #58221)

* Some string manipulating SQL functions use a shared string
object intended to contain an immutable empty string. This
object was used by the SQL function SUBSTRING_INDEX() to
return an empty string when one argument was of the wrong
datatype. If the string object was then modified by the SQL
function INSERT(), undefined behavior ensued. (Bug #58165, Bug
#11765225)

* Parsing nested regular expressions could lead to recursion
resulting in a stack overflow crash. (Bug #58026, Bug
#11765099)

* The fix for Bug#25192 caused load_defaults() to add an
argument separator to distinguish options loaded from
configure files from those provided on the command line,
whether or not the application needed it. (Bug #57953)

* The mysql client went into an infinite loop if the standard
input was a directory. (Bug #57450)

* Outer joins on a unique key could return incorrect results.
(Bug #57034)

* The expression const1 BETWEEN const2 AND field was optimized
incorrectly and produced incorrect results. (Bug #57030, Bug
#11764215)

* Some RPM installation scripts used a hardcoded value for the
data directory, which could result in a failed installation
for users who have a nonstandard data directory location. The
same was true for other configuration values such as the PID
file name. (Bug #56581, Bug #11763817)

* On FreeBSD and OpenBSD, the server incorrectly checked the
range of the system date, causing legal values to be rejected.
(Bug #55755, Bug #11763089)

* Sorting using ORDER BY AVG(DISTINCT decimal_col) caused a
server crash or incorrect results. (Bug #52123, Bug #11759784)

* When using ExtractValue() or UpdateXML(), if the XML to be
read contained an incomplete XML comment, MySQL read beyond
the end of the XML string when processing, leading to a crash
of the server. (Bug #44332)

* DATE_ADD() and DATE_SUB() return a string if the first
argument is a string, but incorrectly returned a binary
string. Now they return a character string with a collation of
connection_collation. (Bug #31384, Bug #11747221)

Enjoy!

On behalf of the MySQL Build Team,
Hery Ramilison


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=gcdmg-mysql-2@m.gmane.org