End of Product Lifecycle. Active development and support for MySQL database server versions 3.23, 4.0, and 4.1 has ended. However, for MySQL 4.0 and 4.1, there is still extended support available. For details, see http://www.mysql.com/company/legal/lifecycle/#calendar. According to the MySQL Lifecycle Policy (see http://www.mysql.com/company/legal/lifecycle/#policy), only Security and Severity Level 1 issues will still be fixed for MySQL 4.0 and 4.1. Please consider upgrading to a recent version (MySQL 5.0 or 5.1).
Functionality added or changed:
mysqld no longer reads options from world-writable config files. (CVE-2003-0150)
Integer values between 9223372036854775807 and 9999999999999999999 are now regarded as unsigned longlongs, not as floats. This makes these values work similar to values between 10000000000000000000 and 18446744073709551615.
SHOW PROCESSLIST now includes the client
TCP port after the hostname to make it easier to know from
which client the request originated.
The --new option can be used to make a 4.0
server return TIMESTAMP as a string in
'YYYY-MM-DD HH:MM:SS' format, the way that
4.1 servers do. This is also a new system
variable that can be set for the same effect. See
Section 10.3.1.1, “TIMESTAMP Properties Prior to MySQL 4.1”.
Bugs fixed:
Fixed mysqld crash on extremely small
values of sort_buffer variable.
INSERT INTO u SELECT ... FROM t was written
too late to the binary log if t was very frequently updated
during the execution of this query. This could cause a problem
with mysqlbinlog or replication. The master
must be upgraded, not the slave. (Bug#136)
Fixed checking of random part of WHERE
clause. (Bug#142)
Fixed a bug with multiple-table updates with
InnoDB tables. This bug occurred as, in
many cases, InnoDB tables cannot be updated
“on the fly,” but offsets to the records have to
be stored in a temporary table.
Added missing file
mysql_secure_installation to the
server RPM subpackage. (Bug#141)
Fixed MySQL (and myisamchk) crash on
artificially corrupted .MYI files.
Don't allow BACKUP TABLE to overwrite
existing files.
Fixed a bug with multiple-table UPDATE
statements when user had all privileges on the database where
tables are located and there were any entries in
tables_priv table, that is,
grant_option was true.
Fixed a bug that allowed a user with table or column grants on
some table, TRUNCATE any table in the same
database.
Fixed deadlock when doing LOCK TABLE
followed by DROP TABLE in the same thread.
In this case one could still kill the thread with
KILL.
LOAD DATA LOCAL INFILE was not properly
written to the binary log (hence not properly replicated).
(Bug#82)
RAND() entries were not read
correctly by mysqlbinlog from the binary
log which caused problems when restoring a table that was
inserted with RAND().
INSERT INTO t1 VALUES(RAND()). In
replication this worked okay.
SET SQL_LOG_BIN=0 was ignored for
INSERT DELAYED queries. (Bug#104)
SHOW SLAVE STATUS reported too old
positions (columns Relay_Master_Log_File
and Exec_Master_Log_Pos) for the last
executed statement from the master, if this statement was the
COMMIT of a transaction. The master must be
upgraded for that, not the slave. (Bug#52)
LOAD DATA INFILE was not replicated by the
slave if replicate_*_table was set on the
slave. (Bug#86)
After RESET SLAVE, the coordinates
displayed by SHOW SLAVE STATUS looked
un-reset (although they were, but only internally). (Bug#70)
Fixed query cache invalidation on LOAD
DATA.
Fixed memory leak on ANALYZE procedure with
error.
Fixed a bug in handling CHAR(0) columns
that could cause incorrect results from the query.
Fixed rare bug with incorrect initialization of
AUTO_INCREMENT column, as a secondary
column in a multi-column key (see
Section 3.6.9, “Using AUTO_INCREMENT”), when data was
inserted with INSERT ... SELECT or
LOAD DATA into an empty table.
On Windows, STOP SLAVE didn't stop the
slave until the slave got one new command from the master
(this bug has been fixed for MySQL 4.0.11 by releasing updated
4.0.11a Windows packages, which include this individual fix on
top of the 4.0.11 sources). (Bug#69)
Fixed a crash when no database was selected and LOAD
DATA command was issued with full table name
specified, including database prefix.
Fixed a crash when shutting down replication on some platforms (for example, Mac OS X).
Fixed a portability bug with
pthread_attr_getstacksize on HP-UX 10.20
(Patch was also included in 4.0.11a sources).
Fixed the bigint test to not fail on some
platforms (for example, HP-UX and Tru64) due to different
return values of the atof() function.
Fixed the rpl_rotate_logs test to not fail
on certain platforms (such as Mac OS X) due to a too-long file
name (changed slave-master-info.opt to
.slave-mi).

User Comments
Add your own comment.