This is a new Beta development release, fixing recently discovered bugs.
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 Enterprise (a commercial MySQL offering). For more details, please see http://www.mysql.com/products/enterprise.
Functionality added or changed:
Incompatible Change: It is no longer possible to partition the log tables. (Bug#27816)
Incompatible Change:
mysqld_safe now supports error logging to
syslog
on systems that support the
logger command. The new
--syslog
and
--skip-syslog
options can be used instead of the
--log-error
option to
control logging behavior, as described in
Section 4.3.2, “mysqld_safe — MySQL Server Startup Script”. The default is to use
syslog
, which differs from the previous
default behavior of writing an error log file.
Currently, logging to
syslog
may fail to operate correctly in some
cases; if so, use
--skip-syslog
or --log-error
.
To maintain the older behavior if you were using no
error-logging option, use
--skip-syslog
.
If you were using
--log-error
, continue to use
it.
Note: In 5.1.21, the default is changed to
--skip-syslog
,
which is compatible with releases prior to 5.1.20.
(Bug#4858)
Important Change: MySQL Cluster:
The TimeBetweenWatchdogCheckInitial
configuration parameter was added to allow setting of a separate
watchdog timeout for memory allocation during startup of the
data nodes. See Section 17.3.2.6, “Defining MySQL Cluster Data Nodes”,
for more information.
(Bug#28899)
MySQL Cluster: The cluster management client now stores command history between sessions. (Bug#29073)
MySQL Cluster:
auto_increment_increment
and
auto_increment_offset
are now
supported for NDB
tables.
(Bug#26342)
MySQL Cluster: The server source tree now includes scripts to simplify building MySQL with SCI support. For more information about SCI interconnects and these build scripts, see Section 17.3.5.1, “Configuring MySQL Cluster to use SCI Sockets”. (Bug#25470)
MySQL Cluster:
A new configuration parameter ODirect
causes
NDB
to attempt using
O_DIRECT
writes for LCP, backups, and redo
logs, often lowering CPU usage.
Replication:
The sql_mode
,
foreign_key_checks
,
unique_checks
, character
set/collations, and
sql_auto_is_null
session
variables are written to the binary log and honored during
replication. See Section 5.2.4, “The Binary Log”.
If a MERGE
table cannot be opened or used
because of a problem with an underlying table,
CHECK TABLE
now displays
information about which table caused the problem.
(Bug#26976)
User variables and stored procedure variables are now supported
for use in XPath expressions employed as arguments to the
ExtractValue()
and
UpdateXML()
functions.
This means that:
XPath can now be used to load data from XML files using virtually any format, and so able to import data from most third party software which either has XML export functionality, or uses XML natively as a storage format.
Various complex conditions can be put on rows and columns, so one can filter for desired rows (or skip unwanted rows) when loading XML.
Various types of preprocessing using SQL functions are now
possible when loading XML. For example, you can
concatenate two XML tag or attribute values into a single
column value using
CONCAT()
, or remove some
parts of the data using
REPLACE()
.
See Section 11.10, “XML Functions”, for more information. (Bug#26518)
Binary distributions for some platforms did not include shared
libraries; now shared libraries are shipped for all platforms
except AIX 5.2 64-bit. Exception: The
library for the libmysqld
embedded server is
not shared except on Windows.
(Bug#16520, Bug#26767, Bug#13450)
Added a new
PAD_CHAR_TO_FULL_LENGTH
SQL
mode. By default, trailing spaces are trimmed from
CHAR
column values on retrieval.
If PAD_CHAR_TO_FULL_LENGTH
is
enabled, trimming does not occur and retrieved
CHAR
values are padded to their
full length. This mode does not apply to
VARCHAR
columns, for which
trailing spaces are retained on retrieval.
XPath can now be used to load data from XML files using virtually any format, and so able to import data from most third party software which either has XML export functionality, or uses XML natively as a storage format.
Various complex conditions can be put on rows and columns, so one can filter for desired rows (or skip unwanted rows) when loading XML.
Various types of preprocessing using SQL functions are now
possible when loading XML. For example, you can concatenate two
XML tag or attribute values into a single column value using
CONCAT()
, or remove some parts of
the data using REPLACE()
.
Bugs fixed:
Security Fix: A malformed password packet in the connection protocol could cause the server to crash. Thanks for Dormando for reporting this bug, and for providing details and a proof of concept. (Bug#28984, CVE-2007-3780)
Security Fix:
CREATE TABLE LIKE
did not require any
privileges on the source table. Now it requires the
SELECT
privilege.
In addition, CREATE TABLE LIKE
was not
isolated from alteration by other connections, which resulted in
various errors and incorrect binary log order when trying to
execute concurrently a CREATE TABLE LIKE
statement and either DDL statements on the source table or DML
or DDL statements on the target table.
(Bug#23667, Bug#25578, CVE-2007-3781)
Incompatible Change:
Some error codes had error numbers in MySQL 5.1 different from
the numbers in MySQL 5.0. In MySQL 5.1, error numbers have been
changed to match the MySQL 5.0 values: Error codes with value of
1458 or higher have changed in MySQL 5.1 now. Client
applications designed to work with MySQL 5.1 with hard-coded
error code values (for example, in statements such as
if (mysql_errno(mysql) == 1463) { ... }
) need
to be updated in the source code. All clients designed to work
with MySQL 5.1 that test error codes (for example, in statements
such as if (mysql_errno(mysql) == ER_VIEW_RECURSIVE) {
... }
) should be recompiled. Existing 5.0 clients
should now work, without changes or recompilation, against
servers for MySQL 5.1.20 or higher.
(Bug#29245)
Incompatible Change:
The names of stored functions referenced by views were not
properly displayed by SHOW CREATE
VIEW
.
The fix corrects a problem introduced by Bug#23491. There is an incompatibility when upgrading from versions affected by that bug fix (MySQL 5.0.40 through 5.0.43, MySQL 5.1.18 through 5.1.19): If you use mysqldump before upgrading from an affected version and reload the data after upgrading to a higher version, you must drop and recreate your views. (Bug#28605)
Incompatible Change:
When mysqldump was run with the
--delete-master-logs
option,
binary log files were deleted before it was known that the dump
had succeeded, not after. (The method for removing log files
used RESET MASTER
prior to the
dump. This also reset the binary log sequence numbering to
.000001
.) Now mysqldump
flushes the logs (which creates a new binary log number with the
next sequence number), performs the dump, and then uses
PURGE BINARY LOGS
to remove the
log files older than the new one. This also preserves log
numbering because the new log with the next number is generated
and only the preceding logs are removed. However, this may
affect applications if they rely on the log numbering sequence
being reset.
(Bug#24733)
Incompatible Change:
The use of an ORDER BY
or
DISTINCT
clause with a query containing a
call to the GROUP_CONCAT()
function caused results from previous queries to be redisplayed
in the current result. The fix for this includes replacing a
BLOB
value used internally for
sorting with a VARCHAR
. This
means that for long results (more than 65,535 bytes), it is
possible for truncation to occur; if so, an appropriate warning
is issued.
(Bug#23856, Bug#28273)
MySQL Cluster: Replication: (Replication): A replicated unique key allowed duplicate key inserts on the slave. (Bug#27044)
MySQL Cluster:
Memory corruption could occur due to a problem in the
DBTUP
kernel block.
(Bug#29229)
MySQL Cluster:
A query having a large IN(...)
or
NOT IN(...)
list in the
WHERE
condition on an
NDB
table could cause
mysqld to crash.
(Bug#29185)
MySQL Cluster:
In the event that two data nodes in the same node group and
participating in a GCP crashed before they had written their
respective P0.sysfile
files,
QMGR
could refuse to start, issuing an
invalid Insufficient nodes for restart
error instead.
(Bug#29167)
MySQL Cluster:
Attempting to restore a NULL
row to a
VARBINARY
column caused
ndb_restore to fail.
(Bug#29103)
MySQL Cluster: ndb_error_reporter now preserves timestamps on files. (Bug#29074)
MySQL Cluster:
It is now possible to set the maximum size of the allocation
unit for table memory using the MaxAllocate
configuration parameter.
(Bug#29044)
MySQL Cluster:
When shutting down mysqld, the
NDB
binlog process was not shut
down before log cleanup began.
(Bug#28949)
MySQL Cluster: ndb_mgm could hang when connecting to a nonexistent host. (Bug#28847)
MySQL Cluster: A regression in the heartbeat monitoring code could lead to node failure under high load. This issue affected MySQL 5.1.19 and MySQL Cluster NDB 6.1.10 only. (Bug#28783)
MySQL Cluster: A corrupt schema file could cause a File already open error. (Bug#28770)
MySQL Cluster: Having large amounts of memory locked caused swapping to disk. (Bug#28751)
MySQL Cluster:
Setting InitialNoOpenFiles
equal to
MaxNoOfOpenFiles
caused an error. This was
due to the fact that the actual value of
MaxNoOfOpenFiles
as used by the cluster was
offset by 1 from the value set in
config.ini
.
(Bug#28749)
MySQL Cluster: LCP files were not removed following an initial system restart. (Bug#28726)
MySQL Cluster:
UPDATE IGNORE
statements involving the
primary keys of multiple tables could result in data corruption.
(Bug#28719)
MySQL Cluster:
A race condition could result when nonmaster nodes (in addition
to the master node) tried to update active status due to a local
checkpoint (that is, between NODE_FAILREP
and
COPY_GCIREQ
events). Now only the master
updates the active status.
(Bug#28717)
MySQL Cluster: A fast global checkpoint under high load with high usage of the redo buffer caused data nodes to fail. (Bug#28653)
MySQL Cluster:
The management client's response to START BACKUP
WAIT COMPLETED
did not include the backup ID.
(Bug#27640)
Cluster Replication: Replication:
When replicating MyISAM
or
InnoDB
tables to a MySQL Cluster, it was not
possible to determine exactly what had been applied following a
shutdown of the slave cluster or mysqld
process.
(Bug#26783)
Replication:
DROP USER
statements that named
multiple users, only some of which could be dropped, were
replicated incorrectly.
(Bug#29030)
Replication: Using events in replication could cause the slave to crash. (Bug#28953)
Replication:
It was possible to set SQL_SLAVE_SKIP_COUNTER
such that the slave would jump into the middle of an event
group.
(Bug#28618)
See also Bug#12691.
Replication:
The result of executing of a prepared statement created with
PREPARE s FROM "SELECT 1 LIMIT ?"
was not
replicated correctly.
(Bug#28464)
Replication: Recreating a view that already exists on the master would cause a replicating slave to terminate replication with a 'different error message on slave and master' error. (Bug#28244)
Replication: Binary logging of prepared statements could produce syntactically incorrect queries in the binary log, replacing some parameters with variable names rather than variable values. This could lead to incorrect results on replication slaves. (Bug#26842, Bug#12826)
Replication:
Connections from one mysqld server to another
failed on Mac OS X, affecting replication and
FEDERATED
tables.
(Bug#26664)
See also Bug#29083.
Replication: When using transactions and replication, shutting down the master in the middle of a transaction would cause all slaves to stop replicating. (Bug#22725)
Replication:
Using CREATE TABLE LIKE ...
would raise an
assertion when replicated to a slave.
(Bug#18950)
Disk Data:
When loading data into a cluster following a version upgrade,
the data nodes could forcibly shut down due to page and buffer
management failures (that is, ndbrequire
failures in PGMAN
).
(Bug#28525)
Disk Data:
Repeated INSERT
and
DELETE
operations on a Disk Data
table having one or more large
VARCHAR
columns could cause data
nodes to fail.
(Bug#20612)
Cluster API:
The timeout set using the MGM API
ndb_mgm_set_timeout()
function was
incorrectly interpreted as seconds rather than as milliseconds.
(Bug#29063)
Cluster API:
An invalid error code could be set on transaction objects by
BLOB
handling code.
(Bug#28724)
The TRUNCATE TABLE
statement was
handled differently by the server when row-based logging was in
effect, even though the binlogging format in effect does not
effect the fact that TRUNCATE
TABLE
is always logged as a statement.
(Bug#29130)
If one of the queries in a UNION
used the SQL_CACHE
option and another query
in the UNION
contained a
nondeterministic function, the result was still cached. For
example, this query was incorrectly cached:
SELECT NOW() FROM t1 UNION SELECT SQL_CACHE 1 FROM t1;
Long path names for internal temporary tables could cause stack overflows. (Bug#29015)
Using an INTEGER
column from a
table to ROUND()
a number
produced different results than using a constant with the same
value as the INTEGER
column.
(Bug#28980)
If a program binds a given number of parameters to a prepared
statement handle and then somehow changes
stmt->param_count
to a different number,
mysql_stmt_execute()
could crash
the client or server.
(Bug#28934)
Queries using UDFs or stored functions were cached. (Bug#28921)
INSERT .. ON DUPLICATE KEY UPDATE
could under
some circumstances silently update rows when it should not have.
(Bug#28904)
Queries that used UUID()
were
incorrectly allowed into the query cache. (This should not
happen because UUID()
is
nondeterministic.)
(Bug#28897)
Using a VIEW
created with a nonexisting
DEFINER
could lead to incorrect results under
some circumstances.
(Bug#28895)
For InnoDB
tables that use the
utf8
character set, incorrect results could
occur for DML statements such as
DELETE
or
UPDATE
that use an index on
character-based columns.
(Bug#28878)
See also Bug#29449, Bug#30485, Bug#31395.
This regression was introduced by Bug#13195.
Non-utf8
characters could get mangled when
stored in CSV
tables.
(Bug#28862)
On Windows, USE_TLS
was not defined for
mysqlclient.lib
.
(Bug#28860)
In MySQL 5.1.15, a new error code
ER_DUP_ENTRY_WITH_KEY_NAME
(1582) was introduced to replace
ER_DUP_ENTRY
(1062) so that the
key name could be provided instead of the key number. This was
unnecessary, so ER_DUP_ENTRY
is
used again and the key name is printed. The incompatibility
introduced in 5.1.15 no longer applies.
(Bug#28842)
A subquery with ORDER BY
and LIMIT
1
could cause a server crash.
(Bug#28811)
Running SHOW TABLE STATUS
while
performing a high number of inserts on partitioned tables with a
great many partitions could cause the server to crash.
(Bug#28806)
Using BETWEEN
with nonindexed date
columns and short formats of the date string could return
incorrect results.
(Bug#28778)
Selecting GEOMETRY
columns in a
UNION
caused a server crash.
(Bug#28763)
When constructing the path to the original
.frm
file, ALTER ..
RENAME
was unnecessarily (and incorrectly) lowercasing
the entire path when not on a case-insensitive file system,
causing the statement to fail.
(Bug#28754)
The binlog_format
system
variable value was empty if the server was started with binary
logging disabled. Now it is set to MIXED
.
(Bug#28752)
Searches on indexed and nonindexed
ENUM
columns could return
different results for empty strings.
(Bug#28729)
Executing EXPLAIN
EXTENDED
on a query using a derived table over a
grouping subselect could lead to a server crash. This occurred
only when materialization of the derived tables required
creation of an auxiliary temporary table, an example being when
a grouping operation was carried out with usage of a temporary
table.
(Bug#28728)
The result of evaluation for a view's CHECK
OPTION
option over an updated record and records of
merged tables was arbitrary and dependant on the order of
records in the merged tables during the execution of the
SELECT
statement.
(Bug#28716)
The “manager thread” of the LinuxThreads implementation was unintentionally started before mysqld had dropped privileges (to run as an unprivileged user). This caused signaling between threads in mysqld to fail when the privileges were finally dropped. (Bug#28690)
Setting an interval of EVERY 0 SECOND
for a
scheduled event caused the server to crash.
(Bug#28666)
For debug builds, ALTER TABLE
could trigger an assertion failure due to occurrence of a
deadlock when committing changes.
(Bug#28652)
Attempting to create an index on a
BIT
column failed after modifying
the column.
(Bug#28631)
Conversion of U+00A5 YEN SIGN and U+203E OVERLINE from
ucs2
to ujis
produced
incorrect results.
(Bug#28600)
Killing from one connection a long-running EXPLAIN
QUERY
started from another connection caused
mysqld to crash.
(Bug#28598)
SHOW GLOBAL
VARIABLES
repeated some variable names.
(Bug#28580)
When one thread attempts to lock two (or more) tables and
another thread executes a statement that aborts these locks
(such as REPAIR TABLE
,
OPTIMIZE TABLE
, or
CHECK TABLE
), the thread might
get a table object with an incorrect lock type in the table
cache. The result is table corruption or a server crash.
(Bug#28574)
Outer join queries with ON
conditions over
constant outer tables did not return
NULL
-complemented rows when conditions were
evaluated to FALSE
.
(Bug#28571)
An update on a multiple-table view with the CHECK
OPTION
clause and a subquery in the
WHERE
condition could cause an assertion
failure.
(Bug#28561)
Calling the UpdateXML()
function
using invalid XPath syntax caused memory corruption possibly
leading to a crash of the server.
(Bug#28558)
PURGE MASTER LOGS BEFORE
(
caused a server
crash. Subqueries are forbidden in the subquery
)BEFORE
clause now.
(Bug#28553)
mysqldump calculated the required memory for a hex-blob string incorrectly causing a buffer overrun. This in turn caused mysqldump to crash silently and produce incomplete output. (Bug#28522)
When upgrading from MySQL 5.1.17 to 5.1.18, mysql_upgrade and mysql_fix_privilege_tables did not upgrade the system tables relating to the Event Scheduler correctly. (Bug#28521)
Passing a DECIMAL
value as a
parameter of a statement prepared with
PREPARE
resulted in an error.
(Bug#28509)
mysql_affected_rows()
could
return an incorrect result for
INSERT ...
ON DUPLICATE KEY UPDATE
if the
CLIENT_FOUND_ROWS
flag was set.
(Bug#28505)
A query that grouped by the result of an expression returned a different result when the expression was assigned to a user variable. (Bug#28494)
Subselects returning LONG
values in MySQL
versions later than 5.0.24a returned LONGLONG
prior to this. The previous behavior was restored.
(Bug#28492)
This regression was introduced by Bug#19714.
Performing ALTER TABLE ... ADD PARTITION
or
ALTER TABLE DROP PARTITION
could result in
inconsistent data, or cause the server to crash, if done
concurrently with other accesses to the table.
(Bug#28477, Bug#28488)
Forcing the use of an index on a
SELECT
query when the index had
been disabled would raise an error without running the query.
The query now executes, with a warning generated noting that the
use of a disabled index has been ignored.
(Bug#28476)
The query SELECT '2007-01-01' + INTERVAL
caused
mysqld to fail.
(Bug#28450)column_name
DAY FROM
table_name
A server crash could happen under rare conditions such that a
temporary table outgrew heap memory reserved for it and the
remaining disk space was not big enough to store the table as a
MyISAM
table.
(Bug#28449)
Using ALTER TABLE
to move columns
resulted only in the columns being renamed. The table contents
were not changed.
(Bug#28427)
The test case for mysqldump failed with
bin-log
disabled.
(Bug#28372)
Attempting to LOAD_FILE
from an empty floppy
drive under Windows, caused the server to hang. For example, if
you opened a connection to the server and then issued the
command SELECT LOAD_FILE('a:test');, with no
floppy in the drive, the server was inaccessible until the modal
pop-up dialog box was dismissed.
(Bug#28366)
mysqltest used a too-large stack size on PPC/Debian Linux, causing thread-creation failure for tests that use many threads. (Bug#28333)
When using a MEMORY
table on Mac OS X,
dropping a table and than creating a table with the same name
could cause the information of the deleted table to remain
accessible, leading to index errors.
(Bug#28309)
The IS_UPDATABLE
column in the
INFORMATION_SCHEMA.VIEWS
table was
not always set correctly.
(Bug#28266)
For CAST()
of a
NULL
value with type
DECIMAL
, the return value was
incorrectly initialized, producing a runtime error for binaries
built using Visual C++ 2005.
(Bug#28250)
When the query cache was fully used, issuing RENAME
DATABASE
or RENAME SCHEMA
could
cause the server to hang, with 100% CPU usage.
(Bug#28211)
The Bytes_received
and
Bytes_sent
status variables
could hold only 32-bit values (not 64-bit values) on some
platforms.
(Bug#28149)
Some valid identifiers were not parsed correctly. (Bug#28127)
Storing a large number into a
FLOAT
or
DOUBLE
column with a fixed length
could result in incorrect truncation of the number if the
column's length was greater than 31.
(Bug#28121)
Sending debugging information from a dump of the Event Scheduler
to COM_DEBUG
could cause the server to crash.
(Bug#28075)
The PARTITION_COMMENT
column of the
INFORMATION_SCHEMA.PARTITIONS
table
had the wrong default value.
(Bug#28007)
DECIMAL
values beginning with
nine 9
digits could be incorrectly rounded.
(Bug#27984)
For attempts to open a nonexistent table, the server should
report ER_NO_SUCH_TABLE
but
sometimes reported
ER_TABLE_NOT_LOCKED
.
(Bug#27907)
Following an invalid call to
UpdateXML()
, calling the function
again (even if valid) crashed the server.
(Bug#27898)
A stored program that uses a variable name containing multibyte characters could fail to execute. (Bug#27876)
The server made strong assumptions about the structure of the
general_log
and
slow_log
log tables: It supported only the
table structure defined in the mysql
database
creation scripts. The server also allowed limited
ALTER TABLE
operations on the log
tables, but adding an AUTO_INCREMENT
column
did not properly initialize the column, and subsequent inserts
into the table could fail to generate correct sequence numbers.
Now an ALTER TABLE
statement that
adds an AUTO_INCREMENT
column populates the
column correctly. In addition, when the server writes a log
table row, it will set columns not present in the original table
structure to their default values.
(Bug#27857)
ON
conditions from JOIN
expressions were ignored when checking the CHECK
OPTION
clause while updating a multiple-table view
that included such a clause.
(Bug#27827)
On some systems, udf_example.c
returned an
incorrect result length. Also on some systems,
mysql-test-run.pl could not find the shared
object built from udf_example.c
.
(Bug#27741)
The modification of a table by a partially completed multi-column update was not recorded in the binlog, rather than being marked by an event and a corresponding error code. (Bug#27716)
SHOW ENGINES
and queries on
INFORMATION_SCHEMA.ENGINES
did not
use the same values for representing the same storage engine
states.
(Bug#27684)
HASH
indexes on
VARCHAR
columns with binary
collations did not ignore trailing spaces from strings before
comparisons. This could result in duplicate records being
successfully inserted into a MEMORY
table
with unique key constraints. A consequence was that internal
MEMORY
tables used for GROUP
BY
calculation contained duplicate rows that resulted
in duplicate-key errors when converting those temporary tables
to MyISAM
, and that error was incorrectly
reported as a table is full
error.
(Bug#27643)
An error occurred trying to connect to mysqld-debug.exe. (Bug#27597)
A stack overrun could occur when storing
DATETIME
values using repeated
prepared statements.
(Bug#27592)
If a stored function or trigger was killed, it aborted but no error was thrown, allowing the calling statement to continue without noticing the problem. This could lead to incorrect results. (Bug#27563)
When ALTER TABLE
was used to add
a new DATE
column with no
explicit default value, '0000-00-00'
was used
as the default even if the SQL mode included the
NO_ZERO_DATE
mode to prohibit
that value. A similar problem occurred for
DATETIME
columns.
(Bug#27507)
ALTER TABLE ... ENABLE KEYS
could cause
mysqld to crash when executed on a table
containing on a MyISAM
table containing
billions of rows.
(Bug#27029)
Binary content 0x00
in a
BLOB
column sometimes became
0x5C 0x00
following a dump and reload, which
could cause problems with data using multi-byte character sets
such as GBK
(Chinese). This was due to a
problem with SELECT INTO OUTFILE
whereby
LOAD DATA
later incorrectly
interpreted 0x5C
as the second byte of a
multi-byte sequence rather than as the
SOLIDUS
(“\”) character, used by
MySQL as the escape character.
(Bug#26711)
The server crashed when attempting to open a table having a
#mysql50#
prefix in the database or table
name. The server now will not open such tables. (This prefix is
reserved by mysql_upgrade for accessing 5.0
tables that have names not yet encoded for 5.1.)
(Bug#26402)
A FLUSH TABLES WITH READ
LOCK
statement followed by a
FLUSH LOGS
statement caused a deadlock if the general log or the slow query
log was enabled.
(Bug#26380)
The query SELECT /*2*/ user, host, db, info FROM
INFORMATION_SCHEMA.PROCESSLIST WHERE (command!='Daemon' ||
user='event_scheduler') AND (info IS NULL OR info NOT LIKE
'%processlist%') ORDER BY INFO
yielded inconsistent
results.
(Bug#26338)
For a given user variable @v
, the statements
SELECT @v
and CREATE TABLE ... AS
SELECT @v
did not return the same data type.
(Bug#26277)
Statements within triggers ignored the value of the
low_priority_updates
system
variable.
(Bug#26162)
See also Bug#29963.
The embedded server library displayed error messages at startup
if the mysql.plugin
table was not present.
This no longer occurs.
(Bug#25800)
On Windows, an application that called
mysql_thread_init()
but forgot
to call mysql_thread_end()
would
get this error: Error in
my_thread_global_end().
(Bug#25621)
Embedded /* ... */
comments were handled
incorrectly within the definitions of stored programs and views,
resulting in malformed definitions (the trailing
*/
was stripped). This also affected binary
log contents.
(Bug#25411, Bug#26302)
Due to a race condition, executing
FLUSH
PRIVILEGES
in one thread could cause brief table
unavailability in other threads.
(Bug#24988)
In SHOW SLAVE STATUS
output,
Last_Errno
and Last_Error
were not set after master_retry_count
errors
had occurred. To provide additional information, the statement
now displays four additional columns:
Last_IO_Errno
: The number of the last
error that caused the I/O thread to stop
Last_IO_Error
: A description of the last
error that caused the I/O thread to stop
Last_SQL_Errno
: The number of the last
error that caused the SQL thread to stop
Last_SQL_Error
: A description of the last
error that caused the SQL thread to stop
Also, Last_Errno
and
Last_Error
now are aliases for
Last_SQL_Errno
and
Last_SQL_Error
.
(Bug#24954)
A too-long shared-memory-base-name
value
could cause a buffer overflow and crash the server or clients.
(Bug#24924)
When mysqld was run as a Windows service, shared memory objects were not created in the global namespace and could not be used by clients to connect. (Bug#24731)
On some Linux distributions where LinuxThreads and NPTL
glibc
versions both are available, statically
built binaries can crash because the linker defaults to
LinuxThreads when linking statically, but calls to external
libraries (such as libnss
) are resolved to
NPTL versions. This cannot be worked around in the code, so
instead if a crash occurs on such a binary/OS combination, print
an error message that provides advice about how to fix the
problem.
(Bug#24611)
A number of SHOW
statements
caused mysqld to crash on recent versions of
Solaris. This issue is believed to be present only in MySQL
5.1.12 and later.
(Bug#23810)
The server deducted some bytes from the
key_cache_block_size
option
value and reduced it to the next lower 512 byte boundary. The
resulting block size was not a power of two. Setting the
key_cache_block_size
system
variable to a value that is not a power of two resulted in
MyISAM
table corruption.
(Bug#23068, Bug#28478, Bug#25853)
Conversion errors could occur when constructing the condition
for an IN
predicate. The predicate was
treated as if the affected column contains
NULL
, but if the IN
predicate is inside NOT
, incorrect results
could be returned.
(Bug#22855)
Linux binaries were unable to dump core after executing a
setuid()
call.
(Bug#21723)
Stack overflow caused server crashes. (Bug#21476)
The server was ignoring the return value of the
parse()
function for full-text parser
plugins.
(Bug#18839)
Granting access privileges to an individual table where the database or table name contained an underscore would fail. (Bug#18660)
The -lmtmalloc
library was removed from the
output of mysql_config on Solaris, as it
caused problems when building DBD::mysql
(and
possibly other applications) on that platform that tried to use
dlopen() to access the client library.
(Bug#18322)
The check-cpu script failed to detect AMD64 Turion processors correctly. (Bug#17707)
When using mysqlbinlog with
--read-from-remote-server
to load the data
direct from a remote MySQL server would cause a core dump when
dumping certain binary log events.
(Bug#17654)
Trying to shut down the server following a failed
LOAD DATA
INFILE
caused mysqld to crash.
(Bug#17233)
The omission of leading zeros in dates could lead to erroneous results when these were compared with the output of certain date and time functions. (Bug#16377)
Using up-arrow for command-line recall in mysql could cause a segmentation fault. (Bug#10218)
The result for CAST()
when
casting a value to UNSIGNED
was limited to
the maximum signed BIGINT
value
(9223372036854775808), rather than the maximum unsigned value
(18446744073709551615).
(Bug#8663)
The internal functions for table preparation, creation, and
alteration were not re-execution friendly, causing problems in
code that: repeatedly altered a table; repeatedly created and
dropped a table; opened and closed a cursor on a table, altered
the table, and then reopened the cursor; used
ALTER TABLE
to change a table's
current AUTO_INCREMENT
value; created indexes
on utf8
columns.
Re-execution of CREATE DATABASE
,
CREATE TABLE
, and
ALTER TABLE
statements in stored
routines or as prepared statements also caused incorrect results
or crashes.
(Bug#4968, Bug#6895, Bug#19182, Bug#19733, Bug#22060, Bug#24879)
User Comments
Add your own comment.