End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
Functionality added or changed:
The --with-openssl
option for
configure now accepts a path prefix as an
argument. --with-openssl-includes
and
--with-openssl-libs
are still supported, but
are needed only to override the default values. (Bug#5494)
Added new --without-man
option to
configure to suppress building/installing
the manual pages. (Bug#5379)
InnoDB: New mysqld option session variable
innodb_table_locks
(on by
default). In applications using
autocommit = 1
and MySQL's
LOCK TABLES
command, InnoDB's
internal table locks that were added in 4.0.20 can cause
deadlocks. You can set innodb_table_locks =
0
in my.cnf
to remove that
problem. See Section 13.2.15, “Restrictions on InnoDB
Tables”. (Bug#3299,
Bug#5998)
InnoDB: Added the startup option and settable global variable
innodb_max_purge_lag
for
delaying INSERT
,
UPDATE
and
DELETE
operations when the
purge operations are lagging. The default value of this
parameter is zero, meaning that there are no delays. See
Section 13.2.10, “InnoDB
Multi-Versioning”.
InnoDB: Change error code to
HA_ERR_ROW_IS_REFERENCED
if we cannot
DROP
a parent table because it is
referenced by a FOREIGN KEY
constraint.
Bugs fixed:
Fixed bug in server which caused connection stall when one of
deprecated libmysqlclient
functions
mysql_create_db()
and
mysql_rm_db()
were called and were going
to return error. (Bug#6081)
Fixed returning wrong query result from query cache if a temporary table was hiding a real table after putting results to query cache. (Bug#6084)
Fixed ENABLE KEYS
, which failed if
tmpdir
ran out of space. Now,
a full repair is done in this case. (Bug#5625)
Fixed an improper error message when trying to drop a table
which is referenced by a FOREIGN KEY
constraint. (Bug#5784)
Fixed a bug that allowed FLUSH TABLE(S)
to
close HANDLER
tables.
HANDLER
tables are now reopened
after a FLUSH TABLE(S)
the next time they
are used. However, they lose their file position if this
happens. (Bug#4286)
Fixed a bug that allowed
HANDLER
tables with the same
alias to be opened multiple times.
HANDLER
aliases must now be
unique, even though it is syntactically correct in versions
below 4.1 to qualify them with their base table's database
name (for example, test_db.handler_tbl
now
conflicts with another_db.handler_tbl
).
(Bug#4335)
Fixed crash when using MySQL 4.0 with privilege tables from MySQL 5.0.
mysqlimport now reads input files locally
from the client host only if the
--local
option is given.
Previously, it assumed incorrectly in some cases that files
were local even without
--local
. (Bug#5829)
InnoDB: Make the check for excessive semaphore waits to tolerate glitches in the system clock (do not crash the server if the system time is adjusted while InnoDB is under load.). (Bug#5898)
InnoDB: Fixed a bug in the InnoDB FOREIGN
KEY
parser that prevented ALTER
TABLE
of tables containing
“#
” in their names. (Bug#5856)
InnoDB: Fixed problem introduced in 4.0.21 where a connection
starting a transaction, doing updates, then
FLUSH TABLES WITH READ
LOCK
, then COMMIT
,
would cause replication slaves to stop (complaining about
error 1223). Bug surfaced when using the InnoDB
innobackup
script. (Bug#5949)
InnoDB: If one updated a column so that its size changed, or
updated it to an externally stored
(TEXT
or
BLOB
) value, then ANOTHER
externally stored column would show up as 512 bytes of good
data + 20 bytes of garbage in a consistent read that fetched
the old version of the row. (Bug#5960)
InnoDB: Release the dictionary latch during a long cascaded
FOREIGN KEY
operation, so that we do not
starve other users doing CREATE
TABLE
or other DDL operations. This caused a
notorious 'Long semaphore wait' message to be printed to the
.err
log. (Bug#5961)
InnoDB: Let InnoDB remember row locking type (X or S) inside
LOCK TABLES
, also over plain
consistent read SELECT
s.
InnoDB: Fixed a bug introduced in 4.0.21. An assertion failed
if one used mysqldump with the option
-l
or
--opt
, or if one used
LOCK TABLES ... LOCAL
. (Workaround in
4.0.21: use --quick
and
--single-transaction
.
(Bug#5538)
InnoDB: Having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref(). (Bug#5180)
Fixed a bug which resulted in an erroneously calculated number
of examined rows in UNION
s.
This value is printed in the slow query log. (Bug#5879)
Fixed bug with crash of server on some values of
read_rnd_buffer_size
(Bug#5492)
Fixed bug which caused truncation of values read from or into
TIMESTAMP
fields if
--new
mode was enabled. (Bug#4131)
mysqladmin now returns a status of 0 even when the server denies access; such an error means the server is running. (Bug#3120)
Fixed that if the slave SQL thread found a syntax error in a query (which should be rare, as the master parsed it successfully), it stops. (Bug#5711)
Fixed that if a write to a MyISAM
table
fails because of a full disk or an exceeded disk quota, it
prints a message to the error log every 10 minutes, and waits
until disk becomes free. (Bug#3248)
Fixed problem with symlinked databases on Windows being shown
with SHOW DATABASES
even if the
database name doesn't match the given wildcard (Bug#5539)
User Comments
If your mysqlimport's are not working anymore after the upgrade to mysql 4.0.22, try adding this to your my.cnf:
[mysqlimport]
local = 1
Add your own comment.