Functionality added or changed:
Incompatible Change:
For BINARY
columns, the pad value
and how it is handled has changed. The pad value for inserts now
is 0x00
rather than space, and there is no
stripping of the pad value for selects. For details, see
Section 10.4.2, “The BINARY
and
VARBINARY
Types”.
Incompatible Change:
The CHAR()
function now returns a
binary string rather than a string in the connection character
set. An optional USING
clause may be used
to produce a result in a specific character set instead. Also,
arguments larger than 256 produce multiple characters. They are
no longer interpreted modulo 256 to produce a single character
each. These changes may cause some incompatibilities, as noted
in Section 2.18.1.2, “Upgrading from MySQL 4.1 to 5.0”.
charset
MySQL Cluster: The ndb_mgm client now reports node startup phases automatically. (Bug#16197)
MySQL Cluster:
A new “smart” node allocation algorithm means that
it is no longer necessary to use sequential IDs for cluster
nodes, and that nodes not explicitly assigned IDs should now
have IDs allocated automatically in most cases. In practical
terms, this means that it is now possible to assign a set of
node IDs such as 1
, 2
,
4
, 5
without an error
being generated due to the missing 3
.
(Bug#13009)
MySQL Cluster: A number of new or improved error messages have been implemented in this release in order to provide better and more accurate diagnostic information regarding cluster configuration issues and problems. (Bug#12786, Bug#11749, Bug#13197, Bug#11739, Bug#12044)
The following statements now cause an implicit
COMMIT
:
Added the --tz-utc
option to
mysqldump. This option adds SET
TIME_ZONE='+00:00'
to the dump file so that
TIMESTAMP
columns can be dumped
and reloaded between servers in different time zones and
protected from changes due to daylight saving time.
(Bug#13052)
When executing single-table
UPDATE
or
DELETE
queries containing an
ORDER BY ... LIMIT
clause, but not having
any N
WHERE
clause, MySQL can now take
advantage of an index to read the first
N
rows in the ordering specified in
the query. If an index is used, only the first
N
records will be read, as opposed to
scanning the entire table.
(Bug#12915)
The MySQL-server
RPM now explicitly assigns
the mysql
system user to the
mysql
user group during the postinstallation
process. This corrects an issue with upgrading the server on
some Linux distributions whereby a previously existing
mysql
user was not changed to the
mysql
group, resulting in wrong groups for
files created following the installation.
(Bug#12823)
The maximum key length for InnoDB
indexes was
increased from 1024 bytes to 3072 bytes for 64-bit builds.
When declaring a local variable (or parameter) named
password
or name
, and
setting it with SET
(for example,
SET password = ''
), the new error message
ERROR 42000: Variable 'nnn' must be quoted with `...`,
or renamed
is returned (where 'nnn' is 'password' or
'names'). This means there is a syntax conflict with special
sentences like SET PASSWORD = PASSWORD(...)
(for setting a user's password) and set names
default
(for setting charset and collation).
This must be resolved either by quoting the variable name:
SET `password` = ...
, which will set the
local variable `password`
, or by renaming the
variable to something else (if setting the user's password is
the desired effect).
Bugs fixed:
MySQL Cluster:
The perror utility included with the
MySQL-Server
RPM did not provide support for
the --ndb
option. It now supports
this option, and so can be used to obtain error message text for
MySQL Cluster error codes.
(Bug#13740)
MySQL Cluster:
Placing multiple [tcp default]
sections in
the cluster's config.ini
file crashed
ndb_mgmd. (The process now exits gracefully
in such cases, with an appropriate error message.)
(Bug#13611)
MySQL Cluster: ndb_mgmd allowed a node to be stopped or restarted while another node was still starting up, which could crash the cluster. It should now not be possible to issue a node stop or restart while a different node is still restarting, and the cluster management client should issue an error when such an attempt is made. (Bug#13461)
MySQL Cluster:
Trying to run ndbd as system
root
when connecting to a
mysqld process running as the
mysql
system user via SHM caused the
ndbd process to crash.
(ndbd should now exit gracefully with an
appropriate error message instead.)
(Bug#9249)
Replication:
An UPDATE
query using a join
would be executed incorrectly on a replication slave.
(Bug#12618)
Tests containing SHOW TABLE
STATUS
or INFORMATION_SCHEMA
failed
on opnsrv6c.
(Bug#14064, Bug#14065)
mysqlcheck
--all-databases
--analyze
--optimize
failed because it
also tried to analyze and optimize the
INFORMATION_SCHEMA
tables which it can't.
(Bug#13783)
Character set conversion was not being done for
FIND_IN_SET()
.
(Bug#13751)
On BSD systems, the system crypt()
call could
return an error for some salt values. The error was not handled,
resulting in a server crash.
(Bug#13619)
When calling a stored procedure with the syntax CALL
and no default schema selected, schema
.procedurename
ERROR
1046
was displayed after the procedure returned.
(Bug#13616)
A column in the ON
condition of a join that
referenced a table in a nested join could not be resolved if the
nested join was a right join.
(Bug#13597)
The server could over-allocate memory when performing a
FULLTEXT
search for stopwords only.
(Bug#13582)
CREATE DEFINER=... VIEW ...
caused the server
to crash when run with
--skip-grant-tables
.
(Bug#13504)
InnoDB
: Queries that were executed using an
index_merge
union or
intersection could produce incorrect results if the underlying
table used the InnoDB
storage engine and had
a primary key containing VARCHAR
members.
(Bug#13484)
A qualified reference to a view column in the
HAVING
clause could not be resolved.
(Bug#13410)
CAST(1E+300 TO SIGNED INT)
produced an incorrect result on little-endian machines.
(Bug#13344)
Queries that use indexes in normal
SELECT
statements may cause range
scans in VIEW
s.
(Bug#13327)
SELECT * INTO OUTFILE ... FROM
INFORMATION_SCHEMA.schemata
failed with an
Access denied
error.
(Bug#13202)
mysqldump --triggers did not quote
identifiers properly if the
--compatible
option was given,
so the dump output could not be reloaded.
(Bug#13146)
A table or view named Ç (C-cedilla) couldn't be dropped. (Bug#13145)
For XA transaction IDs (
), uniqueness is supposed to be assessed based on
gtrid
.bqual
.formatID
gtrid
and
bqual
. MySQL was also including
formatID
in the uniqueness check.
(Bug#13143)
Trying to create a view dynamically using a prepared statement within a stored procedure failed with error 1295. (Bug#13095)
comp_err did not detect when multiple error messages for a language were given for an error symbol. (Bug#13071)
If special characters such as '_'
,
'%'
, or the escape character were included
within the prefix of a column index, LIKE
pattern matching on the indexed column did not return the
correct result.
(Bug#13046, Bug#13919)
Using an undefined variable in an
IF
or
SET
clause inside a stored routine produced
an incorrect unknown column ... in 'order
clause'
error message.
(Bug#13037)
With --log-slave-updates
Exec_master_log_pos
of SQL thread lagged IO
(Bug#13023)
SHOW CREATE TABLE
did not display
any FOREIGN KEY
clauses if a temporary file
could not be created. Now SHOW CREATE
TABLE
displays an error message in an SQL comment if
this occurs.
(Bug#13002)
Local (non-XA) and XA transactions are supposed to be mutually exclusive within a given client connection, but this prohibition was not always enforced. (Bug#12935)
Server crashed during a SELECT
statement, writing a message like this to the error log:
InnoDB
: Error: MySQL is trying to perform a SELECTInnoDB
: but it has not locked any tables in ::external_lock()!
An expression in an ORDER BY
clause failed
with Unknown column
'
if the expression referred to a column alias.
(Bug#11694)col_name
' in 'order
clause'
Issuing STOP SLAVE
after having
acquired a global read lock with
FLUSH TABLES WITH READ
LOCK
caused a deadlock. Now STOP
SLAVE
is generates an error in such circumstances.
(Bug#10942)
Corrected a memory-copying problem for big5
values when using icc compiler on Linux IA-64
systems.
(Bug#10836)
The --interactive-timeout
and
--slave-net-timeout
options for
mysqld were not being obeyed on Mac OS X and
other BSD-based platforms.
(Bug#8731)
Queries of the form (SELECT ...) ORDER BY ...
were being treated as a UNION
.
This improperly resulted in only distinct values being returned
(because UNION
by default
eliminates duplicate results). Also, references to column
aliases in ORDER BY
clauses following
parenthesized SELECT
statements
were not resolved properly.
(Bug#7672)
Character set file parsing during
mysql_real_connect()
read past
the end of a memory buffer.
(Bug#6413)
User Comments
Add your own comment.