Functionality added or changed:
Incompatible Change: MySQL Cluster:
The internal specifications for columns in
NDB
tables has changed to allow
compatibility with future MySQL Cluster releases that are
expected to implement online adding and dropping of columns.
This change is not backward compatible with earlier versions of
MySQL Cluster.
See the related note in MySQL Cluster 4.1 Upgrade and Downgrade Compatibility, for important information prior to upgrading a MySQL Cluster to MySQL 5.1.18 or later from MySQL 5.1.17 or earlier.
See also Bug#28205.
Incompatible Change: Replication:
The INFORMATION_SCHEMA.EVENTS
and
mysql.event
tables have been changed to
facilitate replication of events. When upgrading to MySQL
5.1.18, you must run mysql_upgrade prior to
working with events. Until you have done so, any statement
relating to the Event Scheduler or these tables (including
SHOW EVENTS
) will fail with the
errors Expected field status at position 12 to have
type enum ('ENABLED','SLAVESIDE_DISABLED','DISABLED'), found
enum('ENABLED','DISABLED') and Table
mysql.event is damaged. Can not open.
These changes were made as part of fixes for the following bugs:
The effects of scheduled events were not replicated (that is, binary logging of scheduled events did not work).
Effects of scheduled events on a replication master were both replicated and executed on the slave, causing double execution of events.
CREATE FUNCTION
statements
and their effects were not replicated correctly.
For more information, see Replication of Invoked Features. (Bug#17857, Bug#16421, Bug#20384, Bug#17671)
Cluster Replication: Incompatible Change:
The definition of the mysql.ndb_apply_status
table has changed such that an online upgrade is not possible
from MySQL 5.1.17 or earlier for a replication slave cluster;
you must shut down all SQL nodes as part of the upgrade
procedure. See
MySQL Cluster 4.1 Upgrade and Downgrade Compatibility
before upgrading for details.
For more information about the changes to
mysql.ndb_apply_status
see
MySQL Cluster Replication Schema and Tables.
Incompatible Change:
Prior to this release, when DATE
values were compared with
DATETIME
values, the time portion
of the DATETIME
value was
ignored, or the comparison could be performed as a string
compare. Now a DATE
value is
coerced to the DATETIME
type by
adding the time portion as 00:00:00
. To mimic
the old behavior, use the CAST()
function as shown in this example: SELECT
.
(Bug#28929)date_col
= CAST(NOW() AS DATE) FROM
table
;
Incompatible Change:
The plugin interface and its handling of system variables was
changed. Command-line options such as
--skip-innodb
now cause an error if InnoDB
is not built-in
or plugin-loaded. You should use
--loose-skip-innodb
if you do not want any
error even if InnoDB
is not available. The
--loose
prefix modifier should be used for all
command-line options where you are uncertain whether the plugin
exists and when you want the operation to proceed even if the
option is necessarily ignored due to the absence of the plugin.
(For a description of how --loose
works, see
Using Options on the Command Line.)
Bugs fixed:
Security Fix:
The requirement of the DROP
privilege for RENAME TABLE
was
not enforced.
(Bug#27515, CVE-2007-2691)
Security Fix:
If a stored routine was declared using SQL SECURITY
INVOKER
, a user who invoked the routine could gain
privileges.
(Bug#27337, CVE-2007-2692)
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, CVE-2007-2693)