Functionality added or changed:
Security improvement: Applied a patch that addresses a
zlib
data vulnerability that could result
in a buffer overflow and code execution. (CVE-2005-2096) (Bug#11844)
The viewing of triggers and trigger metadata has been enhanced as follows:
An extension to the SHOW
command has
been added: SHOW TRIGGERS
can be used
to view a listing of triggers. See
Sección 13.5.4.20, “Sintaxis de SHOW TRIGGERS
” for details.
The INFORMATION_SCHEMA
database now
includes a TRIGGERS
table. See
Sección 22.1.16, “La tabla INFORMATION_SCHEMA TRIGGERS
” for details. (Bug#9586)
Triggers can now reference tables by name. See
Sección 20.1, “Sintaxis de CREATE TRIGGER
” for more information.
The output of perror --help
now displays
the --ndb
option. (Bug#11999)
On Windows, the search path used by MySQL applications for
my.ini
now includes
..\my.ini
(that is, the application's
parent directory, and hence, the installation directory). (Bug#10419)
Added mysql_get_character_set_info()
C API
function for obtaining information about the default character
set of the current connection.
The bundled version of the readline
library
was upgraded to version 5.0.
It is no longer necessary to issue an explicit LOCK
TABLES
for any tables accessed by a trigger prior to
executing any statements that might invoke the trigger. (Bug#9581, Bug#8406)
MySQL Cluster
: A new -p
option is available for use with the
ndb_mgmd client. When called with this
option, ndb_mgmd prints all configuration
data to stdout
, then exits.
The namespace for triggers has changed. Previously, trigger
names had to be unique per table. Now they must be unique
within the schema (database). An implication of this change is
that DROP TRIGGER
syntax now uses a schema
name instead of a table name (schema name is optional and, if
omitted, the current schema will be used).
Note: When upgrading from a previous
version of MySQL 5 to MySQL 5.0.10 or newer, you must drop all
triggers before upgrading and re-create them after or
DROP TRIGGER
will not work after the
upgrade. (Bug#5892)
Bugs fixed:
NDB
: Attempting to create or drop tables
during a backup would cause the cluster to shut down. (Bug#11942)
When attempting to drop a table with a broken unique index,
NDB
failed to drop the table and
erroneously report that the table was unknown. (Bug#11355)
SELECT ... NOT IN()
gave unexpected results
when only static value present between the
()
. (Bug#11885)
Fixed compile error when using GCC4 on AMD64. (Bug#12040)
NDB
ignored the Hostname
option in the NDBD DEFAULT
section of the
Cluster configuration file. (Bug#12028)
SHOW PROCEDURE/FUNCTION STATUS
didn't work
for users with limited access. (Bug#11577)
MySQL server would crash is a fetch was performed after a
ROLLBACK
when cursors were involved. (Bug#10760)
The temporary tables created by an ALTER
TABLE
on a cluster table were visible to all MySQL
servers. (Bug#12055)
NDB_MGMD
was leaking file descriptors. (Bug#11898)
IP addresses not shown in ndb_mgm SHOW
command on second ndb_mgmd (or on ndb_mgmd restart). (Bug#11596)
Functions that evaluate to constants (such as
NOW()
and CURRENT_USER()
were being evaluated in the definition of a
VIEW
rather than included verbatim. (Bug#4663)
Execution of SHOW TABLES
failed to
increment the Com_show_tables
status
variable. (Bug#11685)
For execution of a stored procedure that refers to a view, changes to the view definition were not seen. The procedure continued to see the old contents of the view. (Bug#6120)
For prepared statements, the SQL parser did not disallow
‘?
’ parameter markers
immediately adjacent to other tokens, which could result in
malformed statements in the binary log. (For example,
SELECT * FROM t WHERE? = 1
could become
SELECT * FROM t WHERE0 = 1
.) (Bug#11299)
When two threads compete for the same table, a deadlock could
occur if one thread has also a lock on another table through
LOCK TABLES
and the thread is attempting to
remove the table in some manner and the other thread want
locks on both tables. (Bug#10600)
Aliasing the column names in a VIEW
did not
work when executing a SELECT
query on the
VIEW
. (Bug#11399)
Performing an ORDER BY
on a
SELECT
from a VIEW
produced unexpected results when VIEW
and
underlying table had the same column name on different
columns. Bug#11709)
The C API function mysql_statement_reset()
did not clear error information. (Bug#11183)
When used within a subquery, SUBSTRING()
returned an empty string. (Bug#10269)
Multiple-table UPDATE
queries using
CONVERT_TZ()
would fail with an error. (Bug#9979)
mysql_fetch_fields()
returned incorrect
length information for MEDIUM
and
LONG
TEXT
and
BLOB
columns. (Bug#9735)
mysqlbinlog
was failing the test suite on
Windows due to BOOL
being incorrectly cast
to INT
. (Bug#11567)
NDBCLuster
: Server left core files
following shutdown if data nodes had failed. (Bug#11516)
Creating a trigger in one database that references a table in another database was being allowed without generating errors. (Bug#8751)
Duplicate trigger names were allowed within a single schema. (Bug#6182)
Server did not accept some fully-qualified trigger names. (Bug#8758)
The traditional
SQL mode accepted invalid
dates if the date value provided was the result of an implicit
type conversion. (Bug#5906)
The MySQL server had issues with certain combinations of basedir and datadir. (Bug#7249)
INFORMATION_SCHEMA.COLUMNS
had some
inaccurate values for some data types. (Bug#11057)
LIKE pattern matching using prefix index didn't return correct result. (Bug#11650)
For several character sets, MySQL incorrectly converted the
character code for the division sign to the
eucjpms
character set. (Bug#11717)
When invoked within a view, SUBTIME()
returned incorrect values. (Bug#11760)
SHOW BINARY LOGS
displayed a file size of 0
for all log files but the current one if the files were not
located in the data directory. (Bug#12004)
Server-side prepared statements failed for columns with a
character set of ucs2
. (Bug#9442)
References to system variables in an SQL statement prepared
with PREPARE
were evaluated during
EXECUTE
to their values at prepare time,
not to their values at execution time. (Bug#9359)
For server shutdown on Windows, error messages of the form
Forcing close of thread
were being
written to the error log. Now connections are closed more
gracefully without generating error messages. (Bug#7403)
n
user: 'name
'
Increased the version number of the
libmysqlclient
shared library from 14 to 15
because it is binary incompatible with the MySQL 4.1 client
library. (Bug#11893)
A recent optimizer change caused DELETE …
WHERE … NOT LIKE
and DELETE …
WHERE … NOT BETWEEN
to not properly identify
the rows to be deleted. (Bug#11853)
Within a stored procedure that selects from a table, invoking another procedure that requires a write lock for the table caused that procedure to fail with a message that the table was read-locked. (Bug#9565)
Within a stored procedure, selecting from a table through a view caused subsequent updates to the table to fail with a message that the table was read-locked. (Bug#9597)
For a stored procedure defined with SQL SECURITY
DEFINER
characteristic,
CURRENT_USER()
incorrectly reported the use
invoking the procedure, not the user who defined it. (Bug#7291)
Creating a table with a SET
or
ENUM
column with the DEFAULT
0
clause caused a server crash if the table's
character set was utf8
. (Bug#11819)
With strict SQL mode enabled, ALTER TABLE
reported spurious “Invalid default value”
messages for columns that had no DEFAULT
clause. (Bug#9881)
In SQL prepared statements, comparisons could fail for values
not equally space-padded. For example, SELECT 'a' =
'a ';
returns 1, but PREPARE s FROM
'SELECT ?=?'; SET @a = 'a', @b = 'a '; PREPARE s FROM
'SELECT ?=?'; EXECUTE s USING @a, @b;
incorrectly
returned 0. (Bug#9379)
Labels in stored routines did not work if the character set
was not latin1
. (Bug#7088)
Invoking the DES_ENCRYPT()
function could
cause a server crash if the server was started without the
--des-key-file
option. (Bug#11643)
The server crashed upon execution of a statement that used a
stored function indirectly (via a view) if the function was
not yet in the connection-specific stored routine cache and
the statement would update a
Handler_
status variable. This fix allows the use of stored routines
under xxx
LOCK TABLES
without explicitly
locking the mysql.lock
table. However, you
cannot use mysql.proc
in statements that
will combine locking of it with modifications for other
tables. (Bug#11554)
The server crashed when dropping a trigger that invoked a stored procedure, if the procedure was not yet in the connection-specific stored routine cache. (Bug#11889)
Selecting the result of an aggregate function for an
ENUM
or SET
column
within a subquery could result in a server crash. (Bug#11821)
Incorrect column values could be retrieved from views defined
using statements of the form SELECT * FROM
. (Bug#11771)
tbl_name
The mysql.proc
table was not being created
properly with the proper utf8
character set
and collation, causing server crashes for stored procedure
operations if the server was using a multi-byte character set.
To take advantage of the bug fix,
mysql_fix_privileges_tables should be run
to correct the structure of the mysql.proc
table. (Bug#11365)
Execution of a prepared statement that invoked a non-existent or dropped stored routine would crash the server. (Bug#11834)
Executing a statement that invoked a trigger would cause
problems unless a LOCK TABLES
was first
issued for any tables accessed by the trigger.
Note: The exact nature of the
problem depended upon the MySQL 5.0 release being used: prior
to 5.0.3, this resulted in a crash; from 5.0.3 to 5.0.7, MySQL
would issue a warning; in 5.0.9, the server would issue an
error. (Bug#8406)
The same issue caused LOCK TABLES
to fail
following UNLOCK TABLES
if triggers were
involved. (Bug#9581)
In a shared Windows environment, MySQL could not find its
configuration file unless the file was in the
C:\
directory. (Bug#5354)
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.