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.