Released on 22 Nov 2000
MySQL 3.23.28 Changelog

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 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 --pager[=...], --no-pager, --tee=... and --no-tee to the mysql client. The new corresponding interactive commands are pager, nopager, tee and 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 SELECT, UPDATE and INSERT statements constantly were running. The symptom was that the UPDATE and INSERT queries were locked for a long time while new SELECT statements were executed before the updates.

  • When reading options_files with mysql_options() the 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 wait_timeout time.

  • 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 long_query_time seconds.

  • Fixed a problem in LEFT JOIN which caused all columns in a reference table to be NULL.

  • 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 TEXT or BLOB.

  • DROP of temporary tables wasn't stored in the update log or binary log.

  • Fixed a bug where SELECT DISTINCT * ... LIMIT row_count 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)

  • The --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.

  • Permit FLUSH TABLES with a tbl_name option.

  • Added --replicate-ignore-table, --replicate-do-table, --replicate-wild-ignore-table, and --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.

  • Added --open-files and --timezone options to safe_mysqld.

  • Fixed a fatal bug in CREATE TEMPORARY TABLE ... SELECT ....

  • Fixed a problem with CREATE TABLE ... SELECT NULL.

  • Added variables large_file_support,net_read_timeout, net_write_timeout and query_buffer_size to SHOW VARIABLES.

  • Added status variables Created_tmp_files and Sort_merge_passes to SHOW STATUS.

  • Fixed a bug where we didn't allow an index name after the FOREIGN KEY definition.

  • Added TRUNCATE tbl_name as a synonym for DELETE FROM tbl_name.

  • Fixed a bug in a BDB key compare function when comparing part keys.

  • Added 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 timeout seconds.

  • 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.)


  • Added SHOW MASTER LOGS statement to display a list of binary log files.

  • Added --safemalloc-mem-limit option to mysqld to simulate memory shortage when compiled with the --with-debug=full option.

  • 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 ELT() and 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.