This is a new Beta development release, fixing recently discovered bugs.
NOTE: 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 Network (a commercial MySQL offering). For more details please see http://www.mysql.com/network/advisors.html.
Functionality added or changed:
The output of mysql --xml
and mysqldump --xml now
includes a valid XML namespace. (Bug#25946)
The mysql_create_system_tables script was removed because mysql_install_db no longer uses it in MySQL 5.1.
Renamed the old_mode system variable to
old.
Added a MASTER_SSL_VERIFY_SERVER_CERT
option for the CHANGE MASTER statement, and
a Master_SSL_Verify_Server_Cert output
column to the SHOW SLAVE STATUS statement.
The option value also is written to the
master.info file. (Bug#19991)
NDB Cluster: It is now possible to restore
selected databases or tables using
ndb_restore. (Bug#26899)
NDB Cluster: Several options have been
added for use with ndb_restore
--print_data to facilitate the
creation of data dump files. (Bug#26900)
Bugs fixed:
Security fix: If a stored
routine was declared using SQL SECURITY
INVOKER, a user who invoked the routine could gain
privileges. (Bug#27337)
Security fix: A user with
only the ALTER privilege on a partitioned
table could obtain information about the table that should
require the SELECT privilege. (Bug#23675)
The NO_DIR_IN_CREATE server SQL mode was
not enforced for partitioned tables. (Bug#24663)
On Windows, trying to use backslash (\)
characters in paths for DATA DIRECTORY and
INDEX DIRECTORY when creating partitioned
tables caused MySQL to crash. (Bug#26074)
(You must use / characters when specifying
paths for these options, regardless of platform. See
Section 16.1, “Overview of Partitioning in MySQL”, for an example using
absolute paths for DATA DIRECTORY and
INDEX DIRECTORY when creating a partitioned
table on Windows.)
NDB Cluster: When trying to create an
NDB table after the server was started with
--ndbcluster but without
--ndb-connectstring,
mysqld produced a memory allocation error.
(Bug#27359)
A damaged or missing mysql.event table
caused SHOW VARIABLES to fail. (Bug#23631)
NDB Cluster (APIs): Using
NdbBlob::writeData() to write data in the
middle of an existing blob value (that is, updating the value)
could overwrite some data past the end of the data to be
changed. (Bug#27018)
NDB Cluster (Replication): Trying to
replicate a large number of frequent updates with a relatively
small relay log (max-relay-log-size set to
1M or less) could cause the slave to crash. (Bug#27529)
NDB Cluster (Replication): An SQL node
acting as a replication master server could be a single point
of failure; that is, if it failed, the replication slave had
no way of knowing this, which could result in a mismatch of
data between the master and the slave. (Bug#21494)
NDB Cluster (Disk Data): CREATE
TABLE ... LIKE
created
an in-memory disk_data_tableNDB table. (Bug#25875)
NDB Cluster (Disk Data): Creating an
excessive number of data files for a single tablespace caused
data nodes to crash. (Bug#24521)
NDB Cluster: Under certain rare
circumstances, DROP TABLE or
TRUNCATE of an NDB table
could cause a node failure or forced cluster shutdown. (Bug#27581)
NDB Cluster: Memory usage of a
mysqld process grew even while idle. (Bug#27560)
NDB Cluster: Using more than 16GB for
DataMemory caused problems with
variable-size columns. (Bug#27512)
NDB Cluster: In an NDB
table having a TIMESTAMP column using
DEFAULT CURRENT_TIMESTAMP, that column
would assume a random value when another column in the same
row was updated. (Bug#27127)
NDB Cluster: Performing ALTER
TABLE ... ENGINE=MERGE on an NDB
table caused mysqld to crash. (Bug#26898)
NDB Cluster: The Cluster table handler did
not set bits in null bytes correctly. (Bug#26591)
NDB Cluster: In some cases, AFTER
UPDATE and AFTER DELETE triggers
on NDB tables that referenced subject table
did not see the results of operation which caused invocation
of the trigger, but rather saw the row as it was prior to the
update or delete operation.
This was most noticeable when an update operation used a
subquery to obtain the rows to be updated. An example would be
UPDATE tbl1 SET col2 = val1 WHERE tbl1.col1 IN
(SELECT col3 FROM tbl2 WHERE c4 = val2) where there
was an AFTER UPDATE trigger on table
tbl1. In such cases, the trigger would fail
to execute.
The problem occurred because the actual update or delete
operations were deferred to be able to perform them later as
one batch. The fix for this bug solves the problem by
disabling this optimization for a given update or delete if
the table has an AFTER trigger defined for
this operation. (Bug#26242)
NDB Cluster: START BACKUP
NOWAIT caused a spurious Out of backup
record error in the management client
(START BACKUP and START BACKUP
WAIT STARTED performed normally). (Bug#25446)
NDB Cluster: When trying to create tables
on an SQL node not connected to the cluster, a misleading
error message Table
'tbl_name' already
exists was generated. The error now generated is
Could not connect to storage engine.
(Bug#18676)
NDB Cluster: A data node failing while
another data node was restarting could leave the cluster in an
inconsistent state. In certain rare cases, this could lead to
a race condition and the eventual forced shutdown of the
cluster. (Bug#27466)
NDB Cluster: When using the
MemReportFrequency configuration parameter
to generate periodic reports of memory usage in the cluster
log, DataMemory usage was not always
reported for all data nodes. (Bug#27444)
NDB Cluster: Error messages displayed when
running in single user mode were inconsistent. (Bug#27021)
NDB Cluster: On Solaris, the value of an
NDB table column declared as
BIT(33) was always displayed as
0. (Bug#26986)
NDB Cluster (Replication): An
UPDATE on the master became a
DELETE on slaves. (Bug#27378)
Setting a column to NOT NULL with an
ON DELETE SET NULL clause foreign key
crashes the server. (Bug#25927)
The values displayed for the
Innodb_row_lock_time,
Innodb_row_lock_time_avg, and
Innodb_row_lock_time_max status variables
were incorrect. (Bug#23666)
COUNT(
sometimes generated a spurious truncation warning. (Bug#21976)
decimal_expr)
With NO_AUTO_VALUE_ON_ZERO SQL mode
enabled, LOAD DATA operations could assign
incorrect AUTO_INCREMENT values. (Bug#27586)
Incorrect results could be returned for some queries that
contained a select list expression with IN
or BETWEEN together with an ORDER
BY or GROUP BY on the same
expression using NOT IN or NOT
BETWEEN. (Bug#27532)
For the INFORMATION_SCHEMA
SESSION_STATUS and
GLOBAL_STATUS tables, some status values
were incorrectly converted to the data type of the
VARIABLE_VALUE column. (Bug#27327)
Queries containing subqueries with COUNT(*)
aggregated in an outer context returned incorrect results.
This happened only if the subquery did not contain any
references to outer columns. (Bug#27257)
Use of an aggregate function from an outer context as an
argument to GROUP_CONCAT() caused a server
crash. (Bug#27229)
Restoration of the default database after stored routine or trigger execution on a slave could cause replication to stop if the database no longer existed. (Bug#25082)
String truncation upon insertion into an integer or year column did not generate a warning (or an error in strict mode). (Bug#26359, Bug#27176)
In out-of-memory conditions, the server might crash or otherwise not report an error to the Windows event log. (Bug#27490)
The temporary file-creation code was cleaned up on Windows to improve server stability. (Bug#26233)
Out-of-memory errors were not reported. Now they are written to the error log. (Bug#26844)
mysqldump crashed for
MERGE tables if the
--complete-insert (-c)
option was given. (Bug#25993)
Corrupted MyISAM tables that have different
definitions in the .frm and
.MYI tables might cause a server crash.
(Bug#25908)
In certain situations, MATCH ... AGAINST
returned false hits for NULL values
produced by LEFT JOIN when no full-text
index was available. (Bug#25729)
OPTIMIZE TABLE might fail on Windows when
it attempts to rename a temporary file to the original name if
the original file had been opened, resulting in loss of the
.MYD file. (Bug#25521)
GRANT statements were not replicated if the
server was started with the
--replicate-ignore-table or
--replicate-wild-ignore-table option. (Bug#25482)
MBROverlaps() returned incorrect values in
some cases. (Bug#24563)
A problem in handling of aggregate functions in subqueries caused predicates containing aggregate functions to be ignored during query execution. (Bug#24484)
Improved out-of-memory detection when sending logs from a master server to slaves, and log a message when allocation fails. (Bug#26837)
MBRDisjoint(),
MBRequal(),
MBRIntersects(),
MBROverlaps(),
MBRTouches(), and
MBRWithin() were inadvertently omitted from
recent versions of MySQL (5.1.14 to 5.1.17). (Bug#24563)
SHOW CREATE VIEW qualified references to
stored functions in the view definition with the function's
database name, even when the database was the default
database. This affected mysqldump (which
uses SHOW CREATE VIEW to dump views)
because the resulting dump file could not be used to reload
the database into a different database. SHOW CREATE
VIEW now suppresses the database name for references
to functions in the default database. (Bug#23491)
When MySQL logged slow query information to a
CSV table, it used an incorrect formula to
calculate the query_time and
lock_time values. (Bug#27638)
With innodb_file_per_table enabled,
attempting to rename an InnoDB table to a
non-existent database caused the server to exit. (Bug#27381)
mysql_install_db could terminate with an error after failing to determine that a system table already existed. (Bug#27022)
For InnoDB tables having a clustered index
that began with a CHAR or
VARCHAR column, deleting a record and then
inserting another before the deleted record was purged could
result in table corruption. (Bug#26835)
make_win_bin_dist neglected to copy some
required MyISAM table files. (Bug#26922)
Fixed a possible buffer overflow in SHOW PROCEDURE
CODE. (Bug#26303)
Selecting the result of AVG() within a
UNION could produce incorrect values. (Bug#24791)
Access via my_pread() or
my_pwrite() to table files larger than 2GB
could fail on some systems. (Bug#24566)
An INTO OUTFILE clause is allowed only for
the final SELECT of a
UNION, but this restriction was not being
enforced correctly. (Bug#23345)
Duplicate entries were not assessed correctly in a
MEMORY table with a
BTREE primary key on a
utf8 ENUM column. (Bug#24985)
For MyISAM tables,
COUNT(*) could return an incorrect value if
the WHERE clause compared an indexed
TEXT column to the empty string
(''). This happened if the column contained
empty strings and also strings starting with control
characters such as tab or newline. (Bug#26231)
For DELETE FROM (with no
tbl_name ORDER BY
col_nameWHERE or LIMIT clause),
the server did not check whether
col_name was a valid column in the
table. (Bug#26186)
ALTER VIEW requires the CREATE
VIEW and DROP privileges for the
view. However, if the view was created by another user, the
server erroneously required the SUPER
privilege. (Bug#26813)
mysqlbinlog --base64-output produced invalid SQL. (Bug#26194)
In a view, a column that was defined using a
GEOMETRY function was treated as having the
LONGBLOB data type rather than the
GEOMETRY type. (Bug#27300)
Some views could not be created even when the user had the requisite privileges. (Bug#24040)
With the NO_AUTO_VALUE_ON_ZERO SQL mode
enabled, LAST_INSERT_ID() could return 0
after INSERT ... ON DUPLICATE KEY UPDATE.
Additionally, the next rows inserted (by the same
INSERT, or the following
INSERT with or without ON
DUPLICATE KEY UPDATE), would insert 0 for the
auto-generated value if the value for the
AUTO_INCREMENT column was
NULL or missing. (Bug#23233)
Executing an INSERT ... SELECT ... FROM
INFORMATION_SCHEMA.GLOBAL_STATUS statement from
within an event caused a server crash. (Bug#26174)
Having the EXECUTE privilege for a routine
in a database should make it possible to
USE that database, but the server returned
an error instead. This has been corrected. As a result of the
change, SHOW TABLES for a database in which
you have only the EXECUTE privilege returns
an empty set rather than an error. (Bug#9504)
When RAND() was called multiple times inside a stored procedure, the server did not write the correct random seed values to the binary log, resulting in incorrect replication. (Bug#25543)
SOUNDEX() returned an invalid string for
international characters in multi-byte character sets. (Bug#22638)
Row equalities in WHERE clauses could cause
memory corruption. (Bug#27154)
GROUP BY on a ucs2
column caused a server crash when there was at least one empty
string in the column. (Bug#27079)
Evaluation of an IN() predicate containing
a decimal-valued argument caused a server crash. (Bug#27362)
Storing NULL values in spatial fields
caused excessive memory allocation and crashes on some
systems. (Bug#27164)
mysql_stmt_fetch() did an invalid memory
deallocation when used with the embedded server. (Bug#25492)
For FEDERATED tables, SHOW CREATE
TABLE could fail when the table name was longer than
the connection name. (Bug#27036)
In a MEMORY table, using a
BTREE index to scan for updatable rows
could lead to an infinite loop. (Bug#26996)
The range optimizer could cause the server to run out of memory. (Bug#26625)
CREATE SERVER, DROP
SERVER, and ALTER SERVER did not
require any privileges. Now these statements require the
SUPER privilege. (Bug#25671)
Concurrent CREATE SERVER and ALTER
SERVER statements could cause a deadlock. (Bug#25721)
Difficult repair or optimization operations could cause an assertion failure, resulting in a server crash. (Bug#25289)

User Comments
Add your own comment.