End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
Functionality added or changed:
Improved handling of the configuration variables
NoOfPagesToDiskAfterRestartTUP should result
in noticeably faster startup times for MySQL Cluster.
-P option is available for use with the
ndb_mgmd client. When called with this
option, ndb_mgmd prints all configuration
stdout, then exits.
If a thread (connection) has tables locked, the query cache is switched off for that thread. This prevents invalid results where the locking thread inserts values between a second thread connecting and selecting from the table. (Bug#12385)
Added support of where clause for queries with
Added new query cache test for the embedded server to the test suite, there are now specific tests for the embedded and nonembedded servers. (Bug#9508)
See also Bug#7518.
NDB ignored the
Hostname option in the
default] section of the cluster configuration file.
MySQL Cluster: Attempting to create or drop tables during a backup would cause the cluster to shut down. (Bug#11942)
MySQL Cluster: ndb_mgmd leaked file descriptors. (Bug#11898)
Slave I/O threads were considered to be in the running state
when launched (rather than after successfully connecting to the
master server), resulting in incorrect
SLAVE STATUS output.
Mishandling of comparison for rows containing
NULL values against rows produced by an
IN subquery could cause a server crash.
Creation of the
mysql group account failed
during the RPM installation.
rest() macro in
to avoid name clashes with user code.
Updated dependency list for RPM builds to include missing
dependencies such as
InnoDB: Do not flush after each write, not
even before setting up the doublewrite buffer. Flushing can be
extremely slow on some systems.
Two threads could potentially initialize different characters sets and overwrite each other. (Bug#12109)
GROUP_CONCAT ignores the
DISTINCT modifier when used in a query
joining multiple tables where one of the tables has a single
big5 strings were not being stored in
Character data truncated when GBK characters
Some subqueries of the form
SELECT ... WHERE ROW(...)
IN ( were being
SELECT "A\\" LIKE "A\\";
fail when using
SET NAMES utf8;.
Attempting to repair a table having a full-text index on a
column containing words whose length exceeded 21 characters and
greater than 1 would crash the server.
LIKE pattern matching using prefix index didn't return correct result. (Bug#11650)
Corrected a problem with the optimizer incorrectly adding
NOT NULL constraints, producing in incorrect
results for complex queries.
Queries with subqueries that contain outer joins could return wrong results. (Bug#11479)
For PKG installs on Mac OS X, the preinstallation and postinstallation scripts were being run only for new installations and not for upgrade installations, resulting in an incomplete installation process. (Bug#11380)
Prepared statement parameters could cause errors in the binary
log if the character set was
For prepared statements, the SQL parser did not disallow
?” parameter markers
immediately adjacent to other tokens, which could result in
malformed statements in the binary log. (For example,
SELECT * FROM t WHERE? = 1 could become
SELECT * FROM t WHERE0 = 1.)
myisam.test failed when server compiled using
User variables were not automatically cast for comparisons, causing queries to fail if the column and connection character sets differed. Now when mixing strings with different character sets but the same coercibility, allow conversion if one character set is a superset of the other. (Bug#10892)
SELECT @@local... returned
@@session... in the column header.
When two threads competed for the same table, a deadlock could
occur if one thread also had a lock on another table through
LOCK TABLES and the thread was
attempting to remove the table in some manner while the other
thread tried to place locks on both tables.
Incorrect error message displayed if user attempted to create a
table in a nonexisting database using
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
could fail with an erroneous “Column
col_name' specified twice”
The value of
capped by the unrelated
Server-side prepared statements failed for columns with a
character set of
In SQL prepared statements, comparisons could fail for values
not equally space-padded. For example,
SELECT 'a' =
'a '; returns 1, but
PREPARE s FROM
'SELECT ?=?'; SET @a = 'a', @b = 'a '; PREPARE s FROM
'SELECT ?=?'; EXECUTE s USING @a, @b; incorrectly
ISO-8601 formatted dates were not being