Note: 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 done its best to ensure a high level of quality, protect your data by making a backup as you would for any software beta release.
Functionality added or changed:
New privilege CREATE USER
was added.
Security improvement: The server creates
.frm
, .MYD
,
.MYI
, .MRG
,
.ISD
, and .ISM
table
files only if a file with the same name does not already
exist. Thanks to Stefano Di Paola
<stefano.dipaola@wisec.it>
for finding and
informing us about this issue. (CVE-2005-0711)
Security improvement: User-defined functions should have at
least one symbol defined in addition to the
xxx
symbol that corresponds to the main
xxx()
function. These auxiliary symbols
correspond to the xxx_init()
,
xxx_deinit()
,
xxx_reset()
,
xxx_clear()
, and
xxx_add()
functions.
mysqld by default no longer loads UDFs
unless they have at least one auxiliary symbol defined in
addition to the main symbol. The
--allow-suspicious-udfs
option controls
whether UDFs that have only an xxx
symbol
can be loaded. By default, the option is off.
mysqld
also checks UDF filenames when it
reads them from the mysql.func
table and
rejects those that contain directory pathname separator
characters. (It already checked names as given in
CREATE FUNCTION
statements.) See
Sección 27.2.3.1, “Secuencias de llamada UDF para funciones simples”,
Sección 27.2.3.2, “Secuencias de llamada UDF para funciones agregadas”, and
Sección 27.2.3.6, “Precauciones de seguridad en funciones definidas por usuarios”. Thanks to Stefano Di Paola
<stefano.dipaola@wisec.it>
for finding and
informing us about this issue. (CVE-2005-0709, CVE-2005-0710)
my.cnf
in the compile-time datadir
(usually /usr/local/mysql/data/
in the
binary tarball distributions) is not being read anymore. The
value of the environment variable
MYSQL_HOME
is used instead of the
hard-coded path.
Support for the ISAM
storage engine has
been removed. If you have ISAM
tables, you
should convert them before upgrading. See
Sección 2.10.1, “Aumentar la versión de 4.1 a 5.0”.
Support for RAID
options in
MyISAM
tables has been removed. If you have
tables that use these options, you should convert them before
upgrading. See Sección 2.10.1, “Aumentar la versión de 4.1 a 5.0”.
Added support for AVG(DISTINCT)
.
ONLY_FULL_GROUP_BY
no longer is included in
the ANSI
composite SQL mode. (Bug#8510)
mysqld_safe will create the directory where the UNIX socket file is to be located if the directory does not exist. This applies only to the last component of the directory pathname. (Bug#8513)
The coercibility for the return value of functions such as
USER()
or VERSION()
now
is “system constant” rather than
“implicit.” This makes these functions more
coercible than column values so that comparisons of the two do
not result in Illegal mix of collations
errors. COERCIBILITY()
was modified to
accommodate this new coercibility value. See
Sección 12.9.3, “Funciones de información”.
User variable coercibility has been changed from “coercible” to “implicit.” That is, user variables have the same coercibility as column values.
Boolean full-text phrase searching now requires only that matches contain exactly the same words as the phrase and in the same order. Non-word characters no longer need match exactly.
CHECKSUM TABLE
returns a warning for
non-existing tables. The checksum value remains
NULL
as before. (Bug#8256)
The server now includes a timestamp in the Ready for
connections
message that is written to the error log
at startup. (Bug#8444)
Added SQL_NOTES
session variable to cause
Note
-level warnings not to be recorded.
(Bug#6662)
Allowed the service-installation command for Windows servers
to specify a single option other than
--defaults-file
following the service name.
This is for compatibility with MySQL 4.1. (Bug#7856)
InnoDB: Upgrading from 4.1:
The sorting order for end-space in TEXT
columns for InnoDB tables has changed. Starting from 5.0.3,
InnoDB compares TEXT
columns as
space-padded at the end. If you have a non-unique index on a
TEXT
column, you should run CHECK
TABLE
on it, and run OPTIMIZE
TABLE
if the check reports errors. If you have a
UNIQUE INDEX
on a TEXT
column, you should rebuild the table with OPTIMIZE
TABLE
.
InnoDB
: Commit after every 10,000 copied
rows when executing ALTER TABLE
,
CREATE INDEX
, DROP INDEX
or OPTIMIZE TABLE
. This makes it much
faster to recover from an aborted operation.
Added VAR_POP()
and
STDDEV_POP()
as standard SQL aliases for
the VARIANCE()
and
STDDEV()
functions that compute population
variance and standard deviation. Added new
VAR_SAMP()
and
STDDEV_SAMP()
functions to compute sample
variance and standard deviation. (Bug#3190)
Fixed a problem with out-of-order packets being sent
(ERROR
after OK
or
EOF
) following a KILL
QUERY
statement. (Bug#6804)
Retrieving from a view defined as a SELECT
that mixed UNION ALL
and UNION
DISTINCT
resulted in a different result than
retrieving from the original SELECT
. (Bug#6565)
Fixed a problem with non-optimal
index_merge
query execution plans being
chosen on IRIX. (Bug#8578)
BIT
in column definitions now is a distinct
data type; it no longer is treated as a synonym for
TINYINT(1)
.
Bit-field values can be written using
b'
notation. value
'value
is a binary value
written using 0s and 1s.
From the Windows distribution, predefined accounts without passwords for remote users ("root@%", "@%") were removed (other distributions never had them).
Added mysql_library_init()
and
mysql_library_end()
as synonyms for the
mysql_server_init()
and
mysql_server_end()
C API functions.
mysql_library_init()
and
mysql_library_end()
are
#define
symbols, but the names more clearly
indicate that they should be called when beginning and ending
use of a MySQL C API library no matter whether the application
uses libmysqlclient
or
libmysqld
. (Bug#6149)
SHOW COLUMNS
now displays
NO
rather than blank in the
Null
output column if the corresponding
table column cannot be NULL
.
Changed XML format for mysql from
<
to col_name
>col_value
</col_name
><field
name="
to allow for proper encoding of column names that are not
legal as element names. (Bug#7811)
col_name
">col_value
</field>
Added --innodb-checksums
and
--innodb-doublewrite
options for
mysqld.
Added --large-pages
option for
mysqld.
Added multi_read_range
system variable.
SHOW DATABASES
, SHOW
TABLES
, SHOW COLUMNS
, and so
forth display information about the
INFORMATION_SCHEMA
database. Also, several
SHOW
statements now accept a
WHERE
clause specifying which output rows
to display. See Capítulo 22, La base de datos de información INFORMATION_SCHEMA
.
Added the CREATE ROUTINE
and ALTER
ROUTINE
privileges, and made the
EXECUTE
privilege operational.
InnoDB: Corrected a bug in the crash recovery of
ROW_FORMAT=COMPACT
tables that caused
corruption. (Bug#7973) There may still be bugs in the crash
recovery, especially in COMPACT
tables.
When the MyISAM
storage engine detects
corruption of a MyISAM
table, a message
describing the problem now is written to the error log.
InnoDB: When MySQL/InnoDB is compiled on Mac OS X 10.2 or
earlier, detect the operating system version at run time and
use the fcntl()
file flush method on Mac OS
X versions 10.3 and later. In Mac OS X,
fsync()
does not flush the write cache in
the disk drive, but the special fcntl()
does; however, the flush request is ignored by some external
devices. Failure to flush the buffers may cause severe
database corruption at power outages.
InnoDB: Implemented fast TRUNCATE TABLE
.
The old approach (deleting rows one by one) may be used if the
table is being referenced by foreign keys. (Bug#7150)
Added cp932
(SJIS for Windows Japanese) and
eucjpms
(UJIS for Windows Japanese)
character sets.
Added several InnoDB
status variables. See
Sección 5.3.4, “Variables de estado del servidor”.
Added the FEDERATED
storage engine. See
Sección 14.6, “El motor de almacenamiento FEDERATED
”.
SHOW CREATE TABLE
now uses USING
rather than
index_type
TYPE
to specify an index type. (Bug#7233)
index_type
InnoDB now supports a fast TRUNCATE TABLE
.
One visible change from this is that auto-increment values for
this table are reset on TRUNCATE
.
Added an error
member to the
MYSQL_BIND
data structure that is used in
the C API for prepared statements. This member is used for
reporting data truncation errors. Truncation reporting is
enabled via the new
MYSQL_REPORT_DATA_TRUNCATION
option for the
mysql_options()
C API function.
API change: the reconnect
flag in the
MYSQL
structure is now set to 0 by
mysql_real_connect()
. Only those client
programs which didn't explicitly set this flag to 0 or 1 after
mysql_real_connect()
experience a change.
Having automatic reconnection enabled by default was
considered too dangerous (after reconnection, table locks,
temporary tables, user and session variables are lost).
FLUSH TABLES WITH READ LOCK
is now killable
while it's waiting for running COMMIT
statements to finish.
MEMORY
(HEAP
) can have
VARCHAR()
fields.
VARCHAR
columns now remember end space. A
VARCHAR()
column can now contain up to
65535 bytes. For more details, see
Sección C.1, “Cambios en la entrega 5.0.x (Desarrollo)”. If the table handler doesn't
support the new VARCHAR
type, then it's
converted to a CHAR
column. Currently this
happens for NDB
tables.
InnoDB: Introduced a compact record format that does not store
the number of columns or the lengths of fixed-size columns.
The old format can be requested by specifying
ROW_FORMAT=REDUNDANT
. The new format
(ROW_FORMAT=COMPACT
) is the default. The
new format typically saves 20 % of disk space and memory.
InnoDB: Setting the initial AUTO_INCREMENT
value for an InnoDB
table using
CREATE TABLE ... AUTO_INCREMENT =
now works, and
n
ALTER TABLE ... AUTO_INCREMENT =
resets the current
value.
n
Seconds_Behind_Master
is
NULL
(which means “unknown”)
if the slave SQL thread is not running, or if the slave I/O
thread is not running or not connected to master. It is zero
if the SQL thread has caught up to the I/O thread. It no
longer grows indefinitely if the master is idle.
The MySQL server aborts immediately instead of simply issuing
a warning if it is started with the --log-bin
option but cannot initialize the binary log at startup (that
is, an error occurs when writing to the binary log file or
binary log index file).
The binary log file and binary log index file now are handled
the same way as MyISAM
tables when there is
a “disk full” or “quota exceeded”
error. See Sección A.4.3, “Cómo se comporta MySQL ante un disco lleno”.
The MySQL server now aborts when started with option
--log-bin-index
and without
--log-bin
, and when started with
--log-slave-updates
and without
--log-bin
.
If the MySQL server is started without an argument to
--log-bin
and without
--log-bin-index
, thus not providing a name
for the binary log index file, a warning is issued because
MySQL falls back to using the hostname for that name, and this
is prone to replication issues if the server's hostname's gets
changed later. See Sección A.8.4, “Cuestiones abiertas en MySQL”.
Added account-specific MAX_USER_CONNECTIONS
limit, which allows you to specify the maximum number of
concurrent connections for the account. Also, all limited
resources now are counted per account (instead of being
counted per user + host pair as it was before). Use the
--old-style-user-limits
option to get the old
behavior.
InnoDB: A shared record lock
(LOCK_REC_NOT_GAP
) is now taken for a
matching record in the foreign key check because inserts can
be allowed into gaps.
InnoDB: Relaxed locking in INSERT…SELECT
,
single table UPDATE…SELECT
and single
table DELETE…SELECT
clauses when
innodb_locks_unsafe_for_binlog
is used and
isolation level of the transaction is not serializable.
InnoDB
uses consistent read in these cases
for a selected table.
Added a new global system variable
slave_transaction_retries
: if the
replication slave SQL thread fails to execute a transaction
because of an InnoDB
deadlock or exceeded
InnoDB's innodb_lock_wait_timeout
or
NDBCluster's
TransactionDeadlockDetectionTimeout
or
TransactionInactiveTimeout
, it
automatically retries
slave_transaction_retries
times before
stopping with an error. The default is 10. (Bug#8325)
When a client releases a user-level lock, DO
RELEASE_LOCK()
will not be written to the binary log
anymore (this makes the binary log smaller); as a counterpart,
the slave does not actually take the lock when it executes
GET_LOCK()
. This is mainly an optimization
and should not affect existing setups. (Bug#7998)
The way the character set information is stored into the binary log was changed, so that it's now possible to have a replication master and slave running with different global character sets. A drawback is that replication from 5.0.3 masters to pre-5.0.3 slaves is impossible.
The LOAD DATA
statement was extended to
support user variables in the target column list, and an
optional SET
clause. Now one can perform
some transformations on data after they have been read and
before they are inserted into the table. For example:
LOAD DATA INFILE 'file.txt' INTO TABLE t1 (column1, @var1) SET column2 = @var1/100;
Also, replication of LOAD DATA
was changed,
so you can't replicate such statements from a 5.0.3 master to
pre-5.0.3 slaves.
Bugs fixed:
If a MyISAM
table on Windows had
INDEX DIRECTORY
or DATA
DIRECTORY
table options,
mysqldump dumped the directory pathnames
with single-backslash pathname separators. This would cause
syntax errors when importing the dump file.
mysqldump now changes
'\
' to '/
' in the
pathnames on Windows. (Bug#6660)
mysql_fix_privilege_tables
now fixes that
the mysql
privilege tables can be used in
MySQL 4.1. This allows one to easily downgrade to 4.1 or run
MySQL 5.0 and 4.1 with the same privilege files for testing
purposes.
Fixed bug creating user with GRANT fails with password but works without, (Bug#7905)
mysqldump misinterpreted
'_
' and '%
' characters
in the names of tables to be dumped as wildcard characters.
(Bug#9123)
The definition of the enumeration-valued
sql_mode
column of the
mysql.proc
table was missing some of the
current allowable SQL modes, so stored routines would not
necessarily execute with the SQL mode in effect at the time of
routine definition. (Bug#8902)
REPAIR TABLE
did not invalidate query
results in the query cache that were generated from the table.
(Bug#8480)
In strict or traditional SQL mode, too-long string values
assigned to string columns (CHAR
,
VARCHAR
, BINARY
,
VARBINARY
, TEXT
, or
BLOB
) were correctly truncated, but the
server returned an SQLSTATE value of 01000
(should be 22001
). (Bug#6999, Bug#9029)
Stored functions that used cursors could return incorrect results. (Bug#8386)
AES_DECRYPT(
could fail to return col_name
,key
)NULL
for invalid
values in col_name
, if
col_name
was declared as
NOT NULL
. (Bug#8669)
Ordering by unsigned expression (more complex than a column reference) was treating the value as signed, producing incorrectly sorted results. (Bug#7425)
HAVING
was treating unsigned columns as
signed. (Bug#7425)
Fixed a problem with boolean full-text searches on
utf8
columns where a double quote in the
search string caused a server crash. (Bug#8351)
For a query with both GROUP BY
and
COUNT(DISTINCT)
clauses and a
FROM
clause with a subquery,
NULL
was returned for any
VARCHAR
column selected by the subquery.
(Bug#8218)
Fixed a bug in TRUNCATE
, which did not work
within stored procedures. A workaround has been made so that
within stored procedures, TRUNCATE
is
executed like DELETE
. This was necessary
because TRUNCATE
is implicitly locking
tables. (Bug#8850)
Fixed an optimizer bug that caused incorrectly ordered result
from a query that used a FULLTEXT
index to
retrieve rows and there was another index that was usable for
ORDER BY
. For such a query,
EXPLAIN
showed fulltext
join type, but regular (not FULLTEXT
) index
in the Key
column. (Bug#6635)
If SELECT DISTINCT
named an index column
multiple times in the select list, the server tried to access
different key fields for each instance of the column, which
could result in a crash. (Bug#8532)
For a stored function that refers to a given table, invoking the function while selecting from the same table resulted in a server crash. (Bug#8405)
Comparison of a DECIMAL
column containing
NULL
to a subquery that produced
DECIMAL
values resulted in a server crash.
(Bug#8397)
The --set-character-set
option for
myisamchk was changed to
--set-collation
. The value needed for
specifying how to sort indexes is a collation name, not a
character set name. (Bug#8349)
Hostname matching didn't work if a netmask was specified for table-specific privileges. (Bug#3309)
Corruption of MyISAM
table indexes could
occur with TRUNCATE TABLE
if the table had
already been opened. For example, this was possible if the
table had been opened implicitly by selecting from a
MERGE
table that mapped to the
MyISAM
table. The server now issues an
error message for TRUNCATE TABLE
under
these conditions. (Bug#8306)
Setting the connection collation to a value different from the
server collation followed by a CREATE TABLE
statement that included a quoted default value resulted in a
server crash. (Bug#8235)
Fixed handling of table-name matching in
mysqlhotcopy to accommodate
DBD::mysql
2.9003 and up (which implement
identifier quoting). (Bug#8136)
Selecting from a view defined as a join caused a server crash if the query cache was enabled. (Bug#8054)
Results in the query cache generated from a view were not
properly invalidated after ALTER VIEW
or
DROP VIEW
on that view. (Bug#8050)
FOUND_ROWS()
returned an incorrect value
after a SELECT SQL_CALC_FOUND_ROWS DISTINCT
statement that selected constants and included GROUP
BY
and LIMIT
clauses. (Bug#7945)
Selecting from an INFORMATION_SCHEMA
table
combined with a subselect on an
INFORMATION_SCHEMA
table caused an error
with the message Table
.
(Bug#8164)
tbl_name
is corrupted
Fixed a problem with equality propagation optimization for prepared statements and stored procedures that caused a server crash upon re-execution of the prepared statement or stored procedure. (Bug#8115, Bug#8849)
LEFT OUTER JOIN
between an empty base table
and a view on an empty base table caused a server crash. (Bug#7433)
Use of GROUP_CONCAT()
in the select list
when selecting from a view caused a server crash. (Bug#7116)
Use of a view in a correlated subquery that contains
HAVING
but no GROUP BY
caused a server crash. (Bug#6894)
Handling by mysql_list_fields()
of
references to stored functions within views was incorrect and
could result in a server crash. (Bug#6814)
mysqldump now avoids writing SET
NAMES
to the dump output if the server is older than
version 4.1 and would not understand that statement. (Bug#7997)
Fixed problems when selecting from a view that had an
EXISTS
or NOT EXISTS
subquery. Selecting columns by name caused a server crash.
With SELECT *
, a crash did not occur, but
columns in outer query were not resolved properly. (Bug#6394)
DDL statements for views were not being written to the binary log (and thus not subject to replication). (Bug#4838)
The CHAR()
function was not ignoring
NULL
arguments, contrary to the
documentation. (Bug#6317)
Creating a table using a name containing a character that is
illegal in character_set_client
resulted in
the character being stripped from the name and no error. The
character now is considered an error. (Bug#8041)
Fixed a problem with the Cyrillic letters I and SHORT I being
treated the same by the utf8_general_ci
collation. (Bug#8385)
Some INFORMATION_SCHEMA
columns that
contained catalog identifiers were of type
LONGTEXT
. These were changed to
VARCHAR(
, where
N
N
is the appropriate maximum
identifier length. (Bug#7215)
Some INFORMATION_SCHEMA
columns that
contained timestamp values were of type
VARBINARY
. These were changed to
TIMESTAMP
. (Bug#7217)
An expression that tested a case-insensitive character column
against string constants that differed in lettercase could
fail because the constants were treated as having a binary
collation. (For example, WHERE city='London' AND
city='london'
could fail.) (Bug#7098, Bug#8690)
The output of the STATUS
(\s
) command in mysql
had the values for the server and client character sets
reversed. (Bug#7571)
If the slave was running with
--replicate-*-table
options which excluded
one temporary table and included another, and the two tables
were used in a single DROP TEMPORARY TABLE IF
EXISTS
statement, as the ones the master
automatically writes to its binary log upon client's
disconnection when client has not explicitly dropped these,
the slave could forget to delete the included replicated
temporary table. Only the slave needs to be upgraded. (Bug#8055)
When setting integer system variables to a negative value with
SET VARIABLES
, the value was treated as a
positive value modulo 2^32. (Bug#6958)
Corrected a problem with references to DUAL
where statements such as SELECT 1 AS a FROM
DUAL
would succeed but statements such as
SELECT 1 AS a FROM DUAL LIMIT 1
would fail.
(Bug#8023)
Fixed a server crash caused by DELETE FROM
when the tbl_name
... WHERE ... ORDER BY
tbl_name
.col_name
ORDER BY
column was qualified with
the table name. (Bug#8392)
Fixed a bug in MATCH ... AGAINST
in natural
language mode that could cause a server crash if the
FULLTEXT
index was not used in a join
(EXPLAIN
did not show
fulltext
join mode) and the search query
matched no rows in the table (Bug#8522).
InnoDB
: Honor the --tmpdir
startup option when creating temporary files. Previously,
InnoDB
temporary files were always created
in the temporary directory of the operating system. On
Netware, InnoDB
will continue to ignore
--tmpdir
. (Bug#5822)
Platform and architecture information in version information
produced for --version
option on Windows was
always Win95/Win98 (i32)
. More accurately
determine platform as Win32
or
Win64
for 32-bit or 64-bit Windows, and
architecture as ia32
for x86,
ia64
for Itanium, and
axp
for Alpha. (Bug#4445)
If multiple semicolon-separated statements were received in a single packet, they were written to the binary log as a single event rather than as separate per-statement events. For a server serving as a replication master, this caused replication to fail when the event was sent to slave servers. (Bug#8436)
Fixed LOAD INDEX
statement to actually load
index in memory. (Bug#8452)
Fixed a failure of multiple-table updates to replicate
properly on slave servers when
--replicate-*-table
options had been
specified. (Bug#7011)
Fixed failure of CREATE TABLE ... LIKE
Windows when the source or destination table was located in a
symlinked database directory. (Bug#6607)
With lower_case_table_names
set to 1,
mysqldump on Windows could write the same
table name in different lettercase for different SQL
statements. Fixed so that consistent lettercase is used. (Bug#5185)
mysqld_safe now understands the
--help
option. Previously, it ignored the
option and attempted to start the server anyway. (Bug#7931)
Fixed problem in NO_BACKSLASH_ESCAPES
SQL
mode for strings that contained both the string quoting
character and backslash. (Bug#6368)
Fixed some portability issues with overflow in floating point values.
Prepared statements now gives warnings on prepare.
Fixed bug in prepared statements with
SUM(DISTINCT...)
.
Fixed bug in prepared statements with OUTER
JOIN
.
Fixed a bug in CONV()
function returning
unsigned BIGINT
number (third argument is
positive, and return value does not fit in 32 bits). (Bug#7751)
Fixed a failure of the IN()
operator to
return correct result if all values in the list were constants
and some of them were using substring functions, for example,
LEFT()
, RIGHT()
, or
MID()
. (Bug#7716)
Fixed a crash in CONVERT_TZ()
function when
its second or third argument was from a
const
table (see
Sección 7.2.1, “Sintaxis de EXPLAIN
(Obtener información acerca de
un SELECT
)”). (Bug#7705)
Fixed a problem with calculation of number of columns in row comparison against subquery. (Bug#8020)
Fixed erroneous output resulting from SELECT
DISTINCT
combined with a subquery and GROUP
BY
. (Bug#7946)
Fixed server crash in comparing a nested row expression (for
example row(1,(2,3))
) with a subquery. (Bug#8022)
Fixed server crash resulting from certain correlated subqueries with forward references (references to an alias defined later in the outer query). (Bug#8025)
Fixed server crash resulting from re-execution of prepared statements containing subqueries. (Bug#8125)
Fixed a bug where ALTER TABLE
improperly
would accept an index on a TIMESTAMP
column
that CREATE TABLE
would reject. (Bug#7884)
SHOW CREATE TABLE
now reports
ENGINE=MEMORY
rather than
ENGINE=HEAP
for a MEMORY
table (unless the MYSQL323
SQL mode is
enabled). (Bug#6659)
Fixed a bug where the use of GROUP_CONCAT()
with HAVING
caused a server crash. (Bug#7769)
Fixed a bug where comparing the result of a subquery to a non-existent column caused a server crash on Windows. (Bug#7885)
Fixed a bug in a combination of -not
and
trunc*
operators of full-text search. Using
more than one truncated negative search term, was causing
empty result set.
InnoDB: Corrected the handling of trailing spaces in the
ucs2
character set. (Bug#7350, Bug#8771)
InnoDB: Use native tmpfile()
function on
Netware. All InnoDB temporary files are created under
sys:\tmp
. Previously, InnoDB temporary
files were never deleted on Netware.
Fixed a bug in max_heap_table_size
handling, that resulted in Table is full
error when the table was still smaller than the limit. (Bug#7791).
Fixed a symlink vulnerability in the mysqlaccess script. Reported by Javier Fernandez-Sanguino Pena and Debian Security Audit Team. (CVE-2005-0004)
Fixed a bug that caused server crash if some error occured during filling of temporary table created for derived table or view handling. (Bug#7413)
Fixed a bug which caused server crash if query containing
CONVERT_TZ()
function with constant
arguments was prepared. (Bug#6849)
Prevent adding CREATE TABLE .. SELECT
query
to the binary log when the insertion of new records partially
failed. (Bug#6682)
Fixed a bug which caused a crash when only the slave I/O thread was stopped and started. (Bug#6148)
Giving mysqld a SIGHUP
caused it to crash.
Changed semantics of CREATE/ALTER/DROP
DATABASE
statements so that replication of
CREATE DATABASE
is possible when using
--binlog-do-db
and
--binlog-ignore-db
. (Bug#6391)
A sequence of BEGIN
(or SET
AUTOCOMMIT=0
), FLUSH TABLES WITH READ
LOCK
, transactional update,
COMMIT
, FLUSH TABLES WITH READ
LOCK
could hang the connection forever and possibly
the MySQL server itself. This happened for example when
running the innobackup
script several
times. (Bug#6732)
mysqlbinlog did not print SET
PSEUDO_THREAD_ID
statements in front of
LOAD DATA INFILE
statements inserting into
temporary tables, thus causing potential problems when rolling
forward these statements after restoring a backup. (Bug#6671)
InnoDB: Fixed a bug no error message for ALTER with InnoDB and
AUTO_INCREMENT (Bug#7061). InnoDB
now
supports ALTER TABLE...AUTO_INCREMENT = x
query to set auto increment value for a table.
Made the MySQL server accept executing SHOW CREATE
DATABASE
even if the connection has an open
transaction or locked tables; refusing it made
mysqldump --single-transaction sometimes
fail to print a complete CREATE DATABASE
statement for some dumped databases. (Bug#7358)
Fixed that, when encountering a “disk full” or
“quota exceeded” write error,
MyISAM
sometimes didn't sleep and retry the
write, thus resulting in a corrupted table. (Bug#7714)
Fixed that --expire-log-days
was not honored
if using only transactions. (Bug#7236)
Fixed that a slave could crash after replicating many
ANALYZE TABLE
, OPTIMIZE
TABLE
, or REPAIR TABLE
statements
from the master. (Bug#6461, Bug#7658)
mysqlbinlog forgot to add backquotes around
the collation of user variables (causing later parsing
problems as BINARY
is a reserved word).
(Bug#7793)
Ensured that mysqldump --single-transaction
sets its transaction isolation level to REPEATABLE
READ
before proceeding (otherwise if the MySQL
server was configured to run with a default isolation level
lower than REPEATABLE READ
it could give an
inconsistent dump). (Bug#7850)
Fixed that when using the RPAD()
function
(or any function adding spaces to the right) in a query that
had to be resolved by using a temporary table, all resulting
strings had rightmost spaces removed (i.e.
RPAD()
did not work) (Bug#4048)
Fixed that a 5.0.3 slave can connect to a master < 3.23.50
without hanging (the reason for the hang is a bug in these
quite old masters -- SELECT @@unknown_var
hangs them -- which was fixed in MySQL 3.23.50). (Bug#7965)
InnoDB: Fixed a deadlock without any locking, simple select
and update (Bug#7975). InnoDB
now takes an
exclusive lock when INSERT ON DUPLICATE KEY
UPDATE
is checking duplicate keys.
Fixed a bug where MySQL was allowing concurrent updates (inserts, deletes) to a table if binary logging is enabled. Changed to ensure that all updates are executed in a serialized fashion, because they are executed serialized when binlog is replayed. (Bug#7879)
Fixed a rare race condition which could lead to FLUSH
TABLES WITH READ LOCK
hanging. (Bug#8682)
Fixed a bug that caused the slave to stop on statements that produced an error on the master. (Bug#8412)
É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.