Windows Notes:
This release of MySQL has two known outstanding issues for Windows:
The .msi installer does not detect an
existing root password on the initial
configuration attempt. To work around this, install and
configure MySQL as normal, but skip any changes to security.
(There is a checkbox that allows this on the security screen
of the configuration wizard.) Then check your settings:
If the old root password and security
settings are okay, you are done and can proceed to use
MySQL.
Otherwise, reconfigure with the wizard and make any
changes on the second configuration attempt. The wizard
will properly prompt for the existing
root password and allow changes to be
made.
This issue has been filed as Bug#45200 for correction in a future release.
The Windows configuration wizard allows changes to
InnoDB settings during a reconfiguration
operation. For an upgrade, this may cause difficulties. To
work around this, use one of the following alternatives:
Do not change InnoDB settings.
Copy files from the old InnoDB
location to the new one.
This issue has been filed as Bug#45201 for correction in a future release.
Bugs fixed:
Performance:
InnoDB uses random numbers to
generate dives into indexes for calculating index cardinality.
However, under certain conditions, the algorithm did not
generate random numbers, so ANALYZE
TABLE did not update cardinality estimates properly. A
new algorithm has been introduced with better randomization
properties, together with a system variable,
innodb_use_legacy_cardinality_algorithm,
that controls which algorithm to use. The default value of the
variable is 1 (ON), to use the original
algorithm for compatibility with existing applications. The
variable can be set to 0 (OFF) to use the new
algorithm with improved randomness.
(Bug#43660)
Performance:
If the character set for a column being compared was neither the
default server character set nor latin1,
InnoDB was slower than necessary due to
excessive contention for a character set mutex.
As a workaround for earlier versions, set the default server
character set to the character set other than
latin1 that is most often used in indexed
columns.
(Bug#42649)
Important Change: Replication:
The transactional behavior of STOP
SLAVE has changed. Formerly, it took effect
immediately, even inside a transaction; now, it waits until the
current replication event group (if any) has finished executing,
or until the user issues a
KILL QUERY or
KILL CONNECTION
statement.
This was done in order to solve the problem encountered when
replication was stopped while a nontransactional slave was
replicating a transaction on the master. (It was impossible to
roll back a mixed-engines transaction when one of the engines
was nontransactional, which meant that the slave could not
safely re-apply any transaction that had been interrupted by
STOP SLAVE.)
(Bug#319, Bug#38205)
See also Bug#43217.
Partitioning:
When a value was equal to a PARTITION ... VALUES LESS
THAN ( value other
than value)MAXVALUE, the corresponding partition
was not pruned.
(Bug#42944)
Replication:
Unrelated errors occurring during the execution of
RESET SLAVE could cause the slave
to crash.
(Bug#44179)
Replication:
The --slave-skip-errors option
had no effect when using row-based logging format.
(Bug#39393)
Replication: The following errors were not correctly reported:
Failures during slave thread initialization
Failures while initializing the relay log position (immediately following the starting of the slave thread)
Failures while processing queries passed through the
--init_slave option.
Information about these types of failures can now be found in
the output of SHOW SLAVE
STATUS.
(Bug#38197)
Replication: Killing the thread executing a DDL statement, after it had finished its execution but before it had written the binlog event, caused the error code in the binlog event to be set (incorrectly) to ER_SERVER_SHUTDOWN or ER_QUERY_INTERRUPTED, which caused replication to fail. (Bug#37145)
Replication: Column aliases used inside subqueries were ignored in the binary log. (Bug#35515)
Valgrind warnings for the
DECODE(),
ENCRYPT(), and
FIND_IN_SET() functions were
corrected.
(Bug#44358, Bug#44365, Bug#44367)
On Windows, entries for build-vs9.bat and
build-vs9_x64.bat were missing in
win/Makefile.am.
(Bug#44353)
Incomplete cleanup of JOIN_TAB::select during
the filesort of rows for a GROUP BY clause
inside a subquery caused a server crash.
(Bug#44290)
Not all lock types had proper descriptive strings, resulting in garbage output from mysqladmin debug. (Bug#44164)
Use of HANDLER statements with
INFORMATION_SCHEMA tables caused a server
crash. Now HANDLER is prohibited
with such tables.
(Bug#44151)
MySQL Server allowed the creation of a merge table based on views but crashed when attempts were made to read from that table. The following example demonstrates this:
#Create a test table CREATE TABLE tmp (id int, c char(2)); #Create two VIEWs upon it CREATE VIEW v1 AS SELECT * FROM tmp; CREATE VIEW v2 AS SELECT * FROM tmp; #Finally create a MERGE table upon the VIEWs CREATE TABLE merge (id int, c char(2)) ENGINE=MERGE UNION(v1, v2); #Reading from the merge table lead to a crash SELECT * FROM merge;
The final line of the code generated the crash. (Bug#44040)
Some schema names longer than 8 characters were not supported by
IBMDB2I. The engine has been updated to allow
digits and underscore characters to be used in names longer than
8 characters.
(Bug#44025)
In some circumstances, when a table is created with the
IBMDB2I engine, the CREATE
TABLE statement will return successfully but the table
will not exist.
(Bug#44022)
The ucs2_swedish_ci and
utf8_swedish_ci collations did not work with
indexes using the IBMDB2I storage engine.
Support is now provided for MySQL when running on IBM i 6.1 or
higher.
(Bug#44020)
Invoking SHOW TABLE STATUS from
within a stored procedure could cause a Packets out of
order error.
(Bug#43962)
myisamchk could display a negative
Max keyfile length value.
(Bug#43950)
On 64-bit systems, a
key_buffer_size value larger
than 4GB could couse MyISAM index corruption.
(Bug#43932)
mysqld_multi incorrectly passed
--no-defaults to
mysqld_safe.
(Bug#43876)
SHOW VARIABLES did not properly
display the value of
slave_skip_errors.
(Bug#43835)
On Windows, a server crash occurred for attempts to insert a
floating-point value into a CHAR
column with a maximum length less than the converted
floating-point value length.
(Bug#43833)
Incorrect initialization of MyISAM table
indexes could cause incorrect query results.
(Bug#43737)
libmysqld crashed when it was reinitialized.
(Bug#43706, Bug#44091)
UNION of floating-point numbers
did unnecessary rounding.
(Bug#43432)
ALTER DATABASE
... UPGRADE DATA DIRECTORY NAME failed when the
database contained views.
(Bug#43385)
Certain statements might open a table and then wait for an
impending global read lock without noticing whether they hold a
table being waiting for by the global read lock, causing a hang.
Affected statements are
SELECT ... FOR
UPDATE,
LOCK TABLES ...
WRITE, TRUNCATE TABLE,
and LOAD DATA
INFILE.
(Bug#43230)
Using an XML function such as ExtractValue()
more than once in a single query could produce erroneous
results.
(Bug#43183)
See also Bug#43937.
Full-text prefix searches could hang the connection and cause 100% CPU consumption. (Bug#42907)
Incorrect elevation of warning messages to error messages for unsafe statements caused a server crash. (Bug#42640)
CHECK TABLE suggested use of
REPAIR TABLE for corrupt tables
for storage engines not supported by REPAIR
TABLE. Now CHECK TABLE
suggests that the user dump and reload the table.
(Bug#42563)
Compressing a table with the myisampack utility caused the server to produce Valgrind warnings when it opened the table. (Bug#41541)
For a MyISAM table with
DELAY_KEY_WRITE enabled, the index file could
be corrupted without the table being marked as crashed if the
server was killed.
(Bug#41330)
For some queries, an equality propagation problem could cause
a = b and b = a to be
handled differently.
(Bug#40925)
Killing an INSERT
... SELECT statement for a MyISAM
table could cause table corruption if the table had indexes.
(Bug#40827)
A multiple-table DELETE
IGNORE statement involving a foreign key constraint
caused an assertion failure.
(Bug#40127)
Multiple-table UPDATE statements
did not properly activate triggers.
(Bug#39953)
The mysql_setpermission operation for removing database privileges removed global privileges instead. (Bug#39852)
A stored routine contain a C-style comment could not be dumped and reloaded. (Bug#39559)
In an UPDATE or
DELETE via a secondary index,
InnoDB did not store the cursor position.
This made InnoDB crash in semi-consistent
read while attempting to unlock a nonmatching record.
(Bug#39320)
The functions listed in Section 11.13.4.2.3, “Creating Geometry Values Using MySQL-Specific Functions”, previously accepted WKB arguments and returned WKB values. They now accept WKB or geometry arguments and return geometry values.
The functions listed in Section 11.13.4.2.2, “Creating Geometry Values Using WKB Functions”, previously accepted WKB arguments and returned geometry values. They now accept WKB or geometry arguments and return geometry values. (Bug#38990)
On WIndows, running the server with
myisam_use_mmap enabled caused
MyISAM table corruption.
(Bug#38848)
CHECK TABLE did not properly
check whether MyISAM tables created by
servers from MySQL 4.0 or older needed to be upgraded. This
could cause problems upgrading to MySQL 5.1 or higher.
(Bug#37631)
An UPDATE statement that updated
a column using the same
DES_ENCRYPT() value for each row
actually updated different rows with different values.
(Bug#35087)
For shared-memory connections, the read and write methods did
not properly handle asynchronous close events, which could lead
to the client locking up waiting for a server response. For
example, a call to
mysql_real_query() would block
forever on the client side if the executed statement was aborted
on the server side. Thanks to Armin Schöffmann for the bug
report and patch.
(Bug#33899)
CHECKSUM TABLE was not killable
with KILL QUERY.
(Bug#33146)
myisamchk and myisampack
were not being linked with the library that enabled support for
* filename pattern expansion.
(Bug#29248)
For InnoDB tables that have their own
.ibd tablespace file, a superfluous
ibuf cursor restoration fails! message could
be written to the error log. This warning has been suppressed.
(Bug#27276)
COMMIT did not delete savepoints
if there were no changes in the transaction.
(Bug#26288)
Several memory allocation functions were not being checked for out-of-memory return values. (Bug#25058)

User Comments
Add your own comment.