Functionality added or changed:
Incompatible change:
MyISAM and InnoDB tables
created with DECIMAL columns in MySQL 5.0.3
to 5.0.5 will appear corrupt after an upgrade to MySQL 5.0.6.
Dump such tables with mysqldump before
upgrading, and then reload them after upgrading. (The same
incompatibility will occur for these tables created in MySQL
5.0.6 after a downgrade to MySQL 5.0.3 to 5.0.5.) (Bug#10465,
Bug#10625)
Added the div_precision_increment system
variable, which indicates the number of digits of precision by
which to increase the result of division operations performed
with the / operator.
Added the log_bin_trust_routine_creators
system variable, which applies when binary logging is enabled.
It controls whether stored routine creators can be trusted not
to create stored routines that will cause unsafe events to be
written to the binary log.
Added the --log-bin-trust-routine-creators
server option for setting the
log_bin_trust_routine_creators system
variable from the command line.
Implemented the STMT_ATTR_PREFETCH_ROWS
option for the mysql_stmt_attr_set() C API
function. This sets how many rows to fetch at a time when
using cursors with prepared statements.
The GRANT and REVOKE
statements now support an
object_type clause to be used for
disambiguating whether the grant object is a table, a stored
function, or a stored procedure. Use of this clause requires
that you upgrade your grant tables. See
Sección 2.10.2, “Aumentar la versión de las tablas de privilegios”. (Bug#10246)
Added REFERENCED_TABLE_SCHEMA,
REFERENCED_TABLE_NAME, and
REFERENCED_COLUMN_NAME columns to the
KEY_COLUMN_USAGE table of
INFORMATION_SCHEMA. (Bug#9587)
Added a --show-warnings option to
mysql to cause warnings to be shown after
each statement if there are any. This option applies to
interactive and batch mode. In interactive mode,
\w and \W may be used to
enable and disable warning display. (Bug#8684)
Removed a limitation that prevented use of FIFOs as logging targets (such as for the general query log). This modification does not apply to the binary log and the relay log. (Bug#8271)
Added a --debug option to
my_print_defaults.
When the server cannot read a table because it cannot read the
.frm file, print a message that the table
was created with a different version of MySQL. (This can
happen if you create tables that use new features and then
downgrade to an older version of MySQL.) (Bug#10435)
SHOW VARIABLES now shows the
slave_compressed_protocol,
slave_load_tmpdir and
slave_skip_errors system variables. (Bug#7800)
Removed unused system variable
myisam_max_extra_sort_file_size.
Changed default value of
myisam_data_pointer_size from 4 to 6. This
allows us to avoid table is full errors for
most cases.
The variable concurrent_insert now takes 3
values. Setting this to 2 changes MyISAM to do concurrent
inserts to end of table if table is in use by another thread.
New /*> prompt for
mysql. This prompt indicates that a
/* ... */ comment was begun on an earlier
line and the closing */ sequence has not
yet been seen. (Bug#9186)
If strict SQL mode is enabled, VARCHAR and
VARBINARY columns with a length greater
than 65,535 no longer are silently converted to
TEXT or BLOB columns.
Instead, an error occurs. (Bug#8295, Bug#8296)
The INFORMATION_SCHEMA.SCHEMATA table now
has a DEFAULT_COLLATION_NAME column. (Bug#8998)
InnoDB: When the maximum length of
SHOW INNODB STATUS output would be
exceeded, truncate the beginning of the list of active
transactions, instead of truncating the end of the output.
(Bug#5436)
InnoDB: If
innodb_locks_unsafe_for_binlog option is
set and the isolation level of the transaction is not set to
serializable then InnoDB uses a consistent
read for select in clauses like INSERT INTO ...
SELECT and UPDATE ... (SELECT)
that do not specify FOR UPDATE or
IN SHARE MODE. Thus no locks are set to
rows read from selected table.
Updated version of libedit to 2.9. (Bug#2596)
Removed mysqlshutdown.exe and
mysqlwatch.exe from the Windows “With
Installer” distribution.
Bugs fixed:
An error in the implementation of the
MyISAM compression algorithm caused
myisampack to fail with very large sets of
data (total size of all the records in a single column needed
to be >= 3 GB in order to trigger this issue). (Bug#8321)
Statements that create and use stored routines were not being written to the binary log, which affects replication and data recovery options. (Bug#2610) Stored routine-related statements now are logged, subject to the issues and limitations discussed in Sección 19.3, “Registro binario de procedimientos almacenados y disparadores”
Disabled binary logging within stored routines to avoid
writing spurious extra statements to the binary log. For
example, if a routine p() executes an
INSERT statement, then for CALL
p(), the CALL statement appears
in the binary log, but not the INSERT
statement. (Bug#9100)
Statements that create and drop triggers were not being written to the binary log, which affects replication and data recovery options. (Bug#10417) Trigger-related statements now are logged, subject to the issues and limitations discussed in Sección 19.3, “Registro binario de procedimientos almacenados y disparadores”
The mysql_stmt_execute() and
mysql_stmt_reset() C API functions now
close any cursor that is open for the statement, which
prevents a server crash. (Bug#9478)
The mysql_stmt_attr_set() C API function
now returns an error for option values that are defined in
mysql.h but not yet implemented, such as
CURSOR_TYPE_SCROLLABLE. (Bug#9643)
MERGE tables could fail on Windows due to
incorrect interpretation of pathname separator characters for
filenames in the .MRG file. (Bug#10687)
Fixed a server crash for INSERT ... ON DUPLICATE KEY
UPDATE with MERGE tables, which
do not have unique indexes. (Bug#10400)
Fix FORMAT() to do better rounding for
double values (for example, FORMAT(4.55,1)
returns 4.6, not 4.5).
(Bug#9060)
Disallow use of SESSION or
GLOBAL for user variables or local
variables in stored routines. (Bug#9286)
Fixed a server crash when using GROUP BY ... WITH
ROLLUP on an indexed column in an
InnoDB table. (Bug#9798)
In strict SQL mode, some assignments to numeric columns that
should have been rejected were not (such as the result of an
arithmetic expression or an explicit CAST()
operation). (Bug#6961)
CREATE TABLE t AS SELECT UUID() created a
VARCHAR(12) column, which is too small to
hold the 36-character result from UUID().
(Bug#9535)
Fixed a server crash in the BLACKHOLE
storage engine. (Bug#10175)
Fixed a server crash resulting from repeated calls to
ABS() when the argument evaluated to
NULL. (Bug#10599)
For a user-defined function invoked from within a prepared
statement, the UDF's initialization routine was invoked for
each execution of the statement, but the deinitialization
routine was not. (It was invoked only when the statement was
closed.) Similarly, when invoking a UDF from within a trigger,
the initialization routine was invoked but the
deinitialization routine was not. For UDFs that have an
expensive deinit function (such as myperl,
this bugfix will have negative performance consequences. (Bug#9913)
Portability fix for Cygwin: Don't use #pragma
interface in source files. (Bug#10241)
Fix CREATE TABLE ... LIKE to work when
lower_case_table_names is set on a
case-sensitive filesystem and the source table name is not
given in lowercase. (Bug#9761)
Fixed a server crash resulting from a CHECK
TABLE statement where the arguments were a view name
followed by a table name. (Bug#9897)
Within a stored procedure, attempting to update a view defined
as an inner join failed with a Table
' error. (Bug#9481)
tbl_name' was locked with a READ
lock and can't be updated
Fixed a problem with INFORMATION_SCHEMA
tables being inaccessible depending on lettercase used to
refer to them. (Bug#10018)
my_print_defaults was ignoring the
--defaults-extra-file option or crashing when
the option was given. (Bug#9136, Bug#9851)
The INFORMATION_SCHEMA.COLUMNS table was
missing columns of views for which the user has access. (Bug#9838)
Fixed a mysqldump crash that occurred with
the --complete-insert option when dumping
tables with a large number of long column names. (Bug#10286)
Corrected a problem where DEFAULT values
where not assigned properly to BIT(1) or
CHAR(1) columns if certain other columns
preceded them in the table definition. (Bug#10179)
For MERGE tables, avoid writing absolute
pathnames in the .MRG file for the names
of the constituent MyISAM tables so that if
the data directory is moved, MERGE tables
will not break. For mysqld, write just the
MyISAM table name if it is in the same
database as the MERGE table, and a path
relative to the data directory otherwise. For the embedded
servers, absolute pathnames may still be used. (Bug#5964)
Corrected a problem resolving outer column references in correlated subqueries when using the prepared statements. (Bug#10041)
Corrected the error message for exceeding the
MAX_CONNECTIONS_PER_HOUR limit to say
max_connections_per_hour instead of
max_connections. (Bug#9947)
Fixed incorrect memory block allocation for the query cache in the embedded server. (Bug#9549)
Corrected an inability to select from a view within a stored procedure. (Bug#9758)
Fixed a server crash resulting from use of
AVG(DISTINCT) with GROUP BY ...
WITH ROLLUP. (Bug#9799)
Fixed a server crash resulting from use of DISTINCT
AVG() with GROUP BY ... WITH
ROLLUP. (Bug#9800)
Fixed a server crash resulting from use of a
CHAR or VARCHAR column
with MIN() or MAX() and
GROUP BY ... WITH ROLLUP. (Bug#9820)
Fixed a server crash resulting from use of SELECT
DISTINCT with a prepared statement that uses a
cursor. (Bug#9520)
Fixed server crash resulting from multiple calls to a stored
procedure that assigned the result of a subquery to a variable
or compared it to a value with IN. (Bug#5963)
Selecting from a single-table view defined on multiple-table views caused a server crash. (Bug#8528)
If the file named by a --defaults-extra-file
option does not exist or is otherwise inaccessible, an error
now occurs. (Bug#5056)
net_read_timeout and
net_write_timeout were not being respected
on Windows. (Bug#9721)
SELECT from
INFORMATION_SCHEMA tables failed if the
statement has a GROUP BY clause and an
aggregate function in the select list. (Bug#9404)
Corrected some failures of prepared statements for SQL
(PREPARE plus EXECUTE)
to return all rows for some SELECT
statements. (Bug#9096, Bug#9777)
Remove extra slashes in --tmpdir value (for
example, convert /var//tmp to
/var/tmp, because they caused various
errors. (Bug#8497)
Added Create_routine_priv,
Alter_routine_priv, and
Execute_priv privileges to the
mysql.host privilege table. (They had been
added to mysql.db in MySQL 5.0.3 but not to
the host table.) (Bug#8166)
Fixed configure to properly recognize whether NTPL is available on Linux. (Bug#2173)
Incomplete results were returned from
INFORMATION_SCHEMA.COLUMNS for
INFORMATION_SCHEMA tables for
non-root users. (Bug#10261)
Fixed a portability problem in compiling
mysql.cc with VC++ on
Windows. (Bug#10245)
SELECT 0/0 returned 0
rather than NULL. (Bug#10404)
MAX() for an INT
UNSIGNED (unsigned 4-byte integer) column could
return negative values if the column contained values larger
than 2^31. (Bug#9298)
SHOW CREATE VIEW got confused and could not
find the view if there was a temporary table with the same
name as the view. (Bug#8921)
Fixed a deadlock resulting from use of FLUSH TABLES
WITH READ LOCK while an INSERT
DELAYED statement is in progress. (Bug#7823)
The optimizer was choosing suboptimal execution plans for
certain outer joins where the right table of a left join (or
left table of a right join) had both ON and
WHERE conditions. (Bug#10162)
RENAME TABLE for an
ARCHIVE table failed if the
.arn file was not present. (Bug#9911)
Invoking a stored function that executed a
SHOW statement resulted in a server crash.
(Bug#8408)
Fixed problems with static variables and do not link with
libsupc++ to allow building on FreeBSD 5.3.
(Bug#9714)
Fixed some awk script portability problems in cmd-line-utils/libedit/makelist.sh. (Bug#9954)
Fixed a problem with mishandling of NULL
key parts in hash indexes on VARCHAR
columns, resulting in incorrect query results. (Bug#9489, Bug#10176)
InnoDB: Fixed a critical bug in InnoDB
AUTO_INCREMENT: it could assign the same
value for several rows. (Bug#10359)
InnoDB: All InnoDB bug fixes from 4.1.12
and earlier versions, and also the fixes to bugs #10335 and
#10607 listed in the 4.1.13 change notes.
É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.
