InnoDB now supports ALTER TABLE
DROP FOREIGN KEY. You have to use SHOW
CREATE TABLE to find the internally generated
foreign key ID when you want to drop a foreign key.
SHOW INNODB STATUS now prints detailed
information of the latest detected FOREIGN
KEY and UNIQUE KEY errors. If you
do not understand why InnoDB gives the
error 150 from a CREATE TABLE, you can use
this statement to study the reason.
ANALYZE TABLE now works also for
InnoDB type tables. It makes eight random
dives to each of the index trees and updates index cardinality
estimates accordingly. Note that because these are only
estimates, repeated runs of ANALYZE TABLE
may produce different numbers. MySQL uses index cardinality
estimates only in join optimization. If some join is not
optimized in the right way, you may try using ANALYZE
TABLE.
InnoDB group commit capability now works
also when MySQL binary logging is switched on. There have to
be > 2 client threads for the group commit to become
active.
Changed the default value of
innodb_flush_log_at_trx_commit from 0 to 1.
If you have not specified it explicitly in your
my.cnf, and your application runs much
slower with this new release, it is because the value 1 causes
a log flush to disk at each transaction commit.
Added a new global settable MySQL system variable
innodb_max_dirty_pages_pct. It is an
integer in the range 0 - 100. The default is 90. The main
thread in InnoDB tries to flush pages from
the buffer pool so that at most this many percents are not yet
flushed at any time.
If innodb_force_recovery=6, do not let
InnoDB do repair of corrupt pages based on
the doublewrite buffer.
InnoDB startup now happens faster because
it does not set the memory in the buffer pool to zero.
Fixed a bug: The InnoDB parser for
FOREIGN KEY definitions was confused by the
keywords 'foreign key' inside MySQL comments.
Fixed a bug: If you dropped a table to which there was a
FOREIGN KEY reference, and later created
the same table with non-matching data types,
InnoDB could assert in
dict0load.c, in function
dict_load_table().
Fixed a bug: GROUP BY and
DISTINCT could treat
NULL values as not equal. MySQL also failed
to do the next-key locking in the case of an empty index
range.
Fixed a bug: Do not commit the current transaction when a
MyISAM table is updated; this also makes
CREATE TABLE not to commit an
InnoDB transaction, even when binary
logging is enabled.
Fixed a bug: We did not allow ON DELETE SET
NULL to modify the same table where the delete was
made; we can allow it because that cannot produce infinite
loops in cascaded operations.
Fixed a bug: Allow HANDLER PREV and
NEXT also after positioning the cursor with
a unique search on the primary key.
Fixed a bug: If MIN() or
MAX() resulted in a deadlock
or a lock wait timeout, MySQL did not return an error, but
returned NULL as the function value.
Fixed a bug: InnoDB forgot to call
pthread_mutex_destroy() when a table was
dropped. That could cause memory leakage on FreeBSD and other
non-Linux Unix systems.

User Comments
Can't wait to be able to create a single FK on multiple columns.
Thank you.
Add your own comment.