This is a new Beta development release, fixing recently discovered bugs.
This Beta release, as any other pre-production release, should not be installed on production level systems or systems with critical data. It is good practice to back up your data before installing any new version of software. Although MySQL has worked very hard to ensure a high level of quality, protect your data by making a backup as you would for any software beta release. Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
This section documents all changes and bug fixes that have been applied since the last official MySQL release. If you would like to receive more fine-grained and personalized update alerts about fixes that are relevant to the version and features you use, please consider subscribing to MySQL Enterprise (a commercial MySQL offering). For more details, please see (http://www.mysql.com/products/enterprise).
Functionality Added or Changed
Incompatible Change; Cluster Replication:
cluster database is no longer used. The
tables formerly found in the
are now in the
mysql database, and have been
Incompatible Change; Cluster Replication: Two major changes have taken place with regard to the MySQL Cluster system tables. These are:
cluster database is no longer used.
The tables formerly found in the
cluster database are now in the
mysql database, and have been renamed
mysql.ndb_schema tables (formerly
cluster.schema are now created by
ndb_restore, in the event that they do
not already exist on the slave cluster.
When upgrading from versions of MySQL previous to 5.1.14 to
5.1.14 or later,
merely creates a new
table, but does not remove the existing
cluster database (or, if upgrading from
MySQL 5.1.7 or earlier, the existing
cluster_replication database), nor any of
the tables in it.
For more information, see MySQL Cluster Replication Schema and Tables. (Bug #14612)
Previously, you could create a user-defined function (UDF) or
stored function with the same name as a built-in function, but
could not invoke the UDF. Now an error occurs if you try to
create such a UDF. The server also now generates a warning if
you create a stored function with the same name as a built-in
function. It is not considered an error to create a stored
function with the same name as a built-in function because you
can invoke the function using
See Function Name Parsing and Resolution, for the rules describing how the server interprets references to different kinds of functions. (Bug #22619, Bug #18239)
Important Change; Disk Data: The output of mysqldump now includes by default all tablespace and logfile group definitions used by any tables or databases that are dumped.
The working of the
-Y option for mysqldump
remains unaffected by this change.
Setting the configuration parameter
had no effect.
MySQL Cluster: Backup messages are now printed to the Cluster log. (Bug #24544)
MySQL Cluster: The error message Management server closed connection, when recorded in the MySQL error log, now includes a timestamp indicating when the error took place. (Bug #21519)
It is now possible to create a unique hashed index on a column
that is not defined as
This change applies only to tables using the
NDB storage engine.
Unique indexes on columns in
tables do not store null values because they are mapped to
primary keys in an internal index table (and primary keys cannot
Normally, an additional ordered index is created when one
creates unique indexes on
columns; this can be used to search for
values. However, if
USING HASH is specified
when such an index is created, no ordered index is created.
The reason for permitting unique hash indexes with null values
is that, in some cases, the user wants to save space if a large
number of records are pre-allocated but not fully initialized.
This also assumes that the user will not
try to search for null values. Since MySQL does not support
indexes that are not permitted to be searched in some cases, the
NDB storage engine uses a full
table scan with pushed conditions for the referenced index
columns to return the correct result.
A warning is returned if one creates a unique nullable hash
index, since the query optimizer should be provided a hint not
to use it with
NULL values if this can be
The XPath operators
>, as implemented in the
ExtractValue() function, operated
DROP TRIGGER now supports an
IF EXISTS clause.
and mysqlshow now accept the
--debug-info option, which displays debugging
information and memory and CPU usage statistics at program exit.
Evaluation of subqueries that require the filesort algorithm
were allocating and freeing the
sort_buffer_size buffer many
times, resulting in slow performance. Now the buffer is
allocated once and reused.
MySQL Cluster; Replication:
(Replication): If errors occurred during purging of the binary
logs, extraneous rows could remain left in the
MySQL Cluster: Sudden disconnection of an SQL or data node could lead to shutdown of data nodes with the error failed ndbrequire. (Bug #24447)
It was possible for the sum of the
configuration parameters, plus the number of system tables to
exceed the maximum value for a
In such a case, the cluster's data nodes failed to start, and no
reason for this could easily be determined from the error
A unique constraint violation was not ignored by an
UPDATE IGNORE statement when the constraint
violation occurred on a nonprimary key.
(Bug #18487, Bug #24303)
MySQL Cluster: The simultaneous shutdown of mysqld and ndbd processes caused unnecessary locking. (Bug #24655)
Given a table
mytbl in a database
mydb on a MySQL Server acting as an SQL node
in a MySQL Cluster, then, following multiple
TABLE mytbl ENGINE=
statements—first, to change the storage engine used for a
NDB, and then again to
change the table to use a non-
DROP DATABASE mydb
statement executed on any SQL node in the cluster would cause
mydb to be dropped on
all SQL nodes in the cluster, even if
MySQL Cluster: Different error messages were returned for similar cases involving failure to allocate memory for Cluster operations. (Bug #19203)
(Disk Data): Under some circumstances, a
DELETE from a Disk Data table
could cause mysqld to crash.
MySQL Cluster: (Disk Data): Excessive fragmentation of Disk Data files (including log files and data files) could occur during the course of normal use. (Bug #24143)
When the management client command
-i was executed while one data node was not running,
all data nodes in the cluster were shut down.
If the value set for
excessive, a suitable error message is now returned.
MySQL Cluster: The failure of a data node failure during a schema operation could lead to additional node failures. (Bug #24752)
MySQL Cluster: The failure of the master node in a node group during the allocation of node IDs could cause ndb_mgmd to hang. (Bug #24543)
MySQL Cluster: A committed read could be attempted before a data node had time to connect, causing a timeout error. (Bug #24717)
An incorrect error message was displayed in the event that the
value of the
parameter was insufficient for the amount of data to be stored
by the cluster.
MySQL Cluster: A query using an index scan followed by a delete operation, and then a rollback could cause one or more data nodes to crash. (Bug #24039)
A value equal to or greater than the permitted maximum for
all data nodes to crash.
Multiple occurrences of error conditions were logged with
duplicat error messages rather than being reported with a single
error message stating that the error was encountered
Some values of
cause the server to become inaccessible following startup of the
Creating a new tables containing a
BLOB column when the server was
short of memory could cause the server to crash.
MySQL Cluster: In certain rare cases, a data node could crash due to a typographical error in the MySQL Cluster source code. (Bug #24476)
An incorrect error message was displayed in the event that the
value of the
parameter was set too low.
Replication: With row-based binary logging, replicated multiple-statement transaction deadlocks did not return the correct error code, causing the slave SQL thread to stop rather than roll back and re-execute. (Bug #23831)
Replication: Changes to character set variables prior to an action on a replication-ignored table were forgotten by slave servers. (Bug #22877)
Replication: On slave servers, transactions that exceeded the lock wait timeout failed to roll back properly. (Bug #20697)
Disk Data: ndb_restore sometimes failed when attempting to restore Disk Data tables due to data node failure caused by accessing uninitialized memory. (Bug #24331)
It was possible to execute a statement for creating a Disk Data
table that referred to a nonexistent tablespace, in which case
the table created was actually an in-memory
NDB table. Such a statement now
fails instead, with an appropriate error message.
BIT values with any of the
comparison methods of the
NdbScanFilter class caused data
nodes to fail.
Cluster API: Some MGM API function calls could yield incorrect return values in certain cases where the cluster was operating under a very high load, or experienced timeouts in inter-node communications. (Bug #24011)
In some cases, the parser failed to distinguish a user-defined function from a stored function. (Bug #21809)
Invalidating the query cache caused a server crash for
INSERT INTO ...
SELECT statements that selected from a view.
cause a server crash.
The server could send incorrect column count information to the client for queries that produce a larger number of columns than can fit in a two-byte number. (Bug #19216)
If elements in a nontop-level
were accessed by an index and the subquery result set included a
NULL value, the quantified predicate that
contained the subquery was evaluated to
when it should return a non-
Inserting a default or invalid value into a spatial column could
Unknown error rather than a more
CREATE FUNCTION X() and
FUNCTION Y() failed with a syntax error instead of
warning the user that these function names are already used (for
With row-based binary logging, for
CREATE TABLE IF
NOT EXISTS LIKE statements, the
IF NOT EXISTS
clause was not logged.
Warnings were generated when explicitly casting a character to a
number (for example,
SIGNED)), but not for implicit conversions in simple
arithmetic operations (such as
'x' + 0). Now
warnings are generated in all cases.
For debug builds, mysqladmin shutdown
displayed an extraneous
skipped 9 bytes from file:
socket (3) message.
For queries that select from a view, the server returned
MYSQL_FIELD metadata inconsistently for view
names and table names. For view columns, the server now returns
the view name in the
table field and, if the
column selects from an underlying table, the table name in the
Metadata for columns calculated from scalar subqueries was limited to integer, double, or string, even if the actual type of the column was different. (Bug #11032)
CONCURRENT did not work correctly for
The size of
MEMORY tables and internal
temporary tables was limited to 4GB on 64-bit Windows systems.
The loose index scan optimization for
MAX was not applied within other queries,
TABLE ... SELECT ...,
INSERT ... SELECT
..., or in the
FROM clauses of
Trailing spaces were not removed from Unicode
CHAR column values when used in
indexes. This resulted in excessive usage of storage space, and
could affect the results of some
queries that made use of such indexes.
With row-based binary logging,
TABLE IF NOT EXISTS SELECT statements were not logged
Queries using a column alias in an expression as part of an
ORDER BY clause failed, an example of such a
SELECT mycol + 1 AS mynum FROM mytable
ORDER BY 30 - mynum.
Instance Manager option-parsing code caused memory-allocation errors. (Bug #22242)
Attempting to use a view containing
information for a nonexistent user resulted in an error message
that revealed the definer account. Now the definer is revealed
only to users that have the
privilege. Other users receive only an
A trigger that invoked a stored function could cause a server crash when activated by different client connections. (Bug #23651)
In some cases, a function that should be parsed as a user-defined function was parsed as a stored function. (Bug #24736)
A query with a subquery that references columns of a view from
SELECT could return an
incorrect result if used from a prepared statement.
The stack size for NetWare binaries was increased to 128KB to prevent problems caused by insufficient stack size. (Bug #23504)
EXPLAIN caused a server
crash for queries that selected from
INFORMATION_SCHEMA in a subquery in the
Subqueries for which a pushed-down condition did not produce exactly one key field could cause a server crash. (Bug #24056)
Through the C API, the member strings in
MYSQL_FIELD for a query that contained
expressions could return incorrect results.
Some unnecessary Valgrind warnings were removed from the server. (Bug #24488, Bug #24533)
The server source code had multiple exportable definitions of
field_in_record_is_null() function. These
are now all declared
Constant expressions and some numeric constants used as input parameters to user-defined functions were not treated as constants. (Bug #18761)
For renaming of views, encoding of table name to file names was not performed. (Bug #21370)
View columns were always handled as having implicit derivation,
illegal mix of collation errors
for some views in
operations. Now view column derivation comes from the original
expression given in the view definition.