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:
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 host name to make it easier to
know from which client the request originated.
--new option can be used to make a 4.0
TIMESTAMP as a
'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”.
Fixed mysqld crash on extremely small
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
clause. (Bug #142)
Fixed a bug with multiple-table updates with
InnoDB tables. This bug occurred as, in
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
Do not 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
table, that is,
grant_option was true.
Fixed a bug that permitted a user with table or column grants
on some table,
any table in the same database.
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
INSERT INTO t1 VALUES(RAND()). In
replication this worked okay.
SET sql_log_bin = 0 was ignored for
INSERT DELAYED queries. (Bug
SHOW SLAVE STATUS reported too
old positions (columns
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)
INFILE was not replicated by the slave if
replicate_*_table was set on the slave.
Fixed query cache invalidation on
Fixed memory leak on
ANALYZE procedure with
Fixed a bug in handling
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
into an empty table.
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 statement 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).
bigint test to not fail on some
platforms (for example, HP-UX and Tru64) due to different
return values of the
rpl_rotate_logs test to not fail
on certain platforms (such as Mac OS X) due to a too-long file