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.
Added new options
--no-tee to the mysql client. The new corresponding interactive commands are
notee. See Section 4.5.1, “mysql — The MySQL Command-Line Tool”, mysql --help and the interactive help for more information.
Fixed crash when automatic repair of
MyISAM table failed.
Fixed a major performance bug in the table locking code when a lot of
INSERT statements constantly were running. The symptom was that the
INSERT queries were locked for a long time while new
SELECT statements were executed before the updates.
return-found-rows option was ignored.
You can now specify
interactive-timeout in the option file that is read by
mysql_options(). This makes it possible to force programs that run for a long time (like mysqlhotcopy) to use the
interactive_timeout time instead of the
Added to the slow query log the time and the user name for each logged query. If you are using
--log-long-format then also queries that do not use an index are logged, even if the query takes less than
Fixed a problem in
LEFT JOIN which caused all columns in a reference table to be
Fixed a problem when using
NATURAL JOIN without keys.
Fixed a bug when using a multiple-part keys where the first part was of type
DROP of temporary tables wasn't stored in the update log or binary log.
Fixed a bug where
SELECT DISTINCT * ... LIMIT only returned one row.
Fixed a bug in the assembler code in
strstr() for SPARC and cleaned up the
global.h header file to avoid a problem with bad aliasing with the compiler submitted with Red Hat 7.0. (Reported by Trond Eivind Glomsrod)
--skip-networking option now works properly on NT.
Fixed a long outstanding bug in the
ISAM tables when a row with a length of more than 65KB was shortened by a single byte.
Fixed a bug in
MyISAM when running multiple updating processes on the same table.
FLUSH TABLES with a
--replicate-wild-do-table options to mysqld.
Changed all log files to use our own
IO_CACHE mechanism instead of
FILE to avoid OS problems when there are many files open.
--timezone options to safe_mysqld.
Fixed a fatal bug in
CREATE TEMPORARY TABLE ... SELECT ....
Fixed a problem with
CREATE TABLE ... SELECT NULL.
Added status variables
Fixed a bug where we didn't allow an index name after the
FOREIGN KEY definition.
TRUNCATE as a synonym for
DELETE FROM .
Fixed a bug in a
BDB key compare function when comparing part keys.
bdb_lock_max variable to mysqld.
Added more tests to the benchmark suite.
Fixed an overflow bug in the client code when using overly long database names.
mysql_connect() now aborts on Linux if the server doesn't answer in
SLAVE START did not work if you started with
--skip-slave-start and had not explicitly run
CHANGE MASTER TO.
Fixed the output of
SHOW MASTER STATUS to be consistent with
SHOW SLAVE STATUS. (It now has no directory in the log name.)
PURGE BINARY LOGS TO.
SHOW MASTER LOGS statement to display a list of binary log files.
--safemalloc-mem-limit option to mysqld to simulate memory shortage when compiled with the
Fixed several core dumps in out-of-memory conditions.
SHOW SLAVE STATUS was using an uninitialized mutex if the slave had not been started yet.
Fixed bug in
MAKE_SET() when the query used a temporary table.
CHANGE MASTER TO without specifying
MASTER_LOG_POS would set it to 0 instead of 4 and hit the magic number in the master binary log.
ALTER TABLE ... ORDER BY ... syntax added. This creates the new table with the rows in a specific order.