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:
Print version_comment
(from
./configure --comment
during compilation)
when starting the server. Example: Version:
'4.0.21-debug' socket: '/tmp/mysql.sock' port: 0 Official
MySQL Binary
Made the MySQL server not react to signals
SIGHUP
and SIGQUIT
on
Mac OS X 10.3. This is needed because under this OS, the MySQL
server receives lots of these signals (reported as Bug#2030).
On Windows, the mysqld-nt and mysqld-max-nt servers now write error messages to the Windows event log in addition to the MySQL error log.
Bugs fixed:
Fixed an old bug in concurrent accesses to
MERGE
tables (even one
MERGE
table and MyISAM
tables), that could've resulted in a crash or hang of the
server. (Bug#2408, CVE-2004-0837)
Fixed a bug that caused incorrect results from GROUP
BY
queries with expression in
HAVING
clause that refers to a columns such
as BLOB
,
TEXT
, or
TINYBLOB
. (Bug#4358)
Fixed a bug when memory was not released when
HEAP
table is dropped. It could only happen
on Windows when a symlink file (.sym) is used and if that
symlink file contained double backslashes (\\). (Bug#4973)
Fixed a bug which prevented TIMESTAMP(19)
fields from being created. (Bug#4491)
Fixed a bug that caused wrong results in queries that were
using index to search for NULL
values in
BLOB
(TINYBLOB
,
TEXT
,
TINYTEXT
, etc) columns of
MyISAM
tables. (Bug#4816)
Fixed a bug in the function
ROUND()
reporting incorrect
metadata (number of digits after the decimal point). It can be
seen, for example, in CREATE TABLE t1 SELECT ROUND(1,
34)
. (Bug#4393)
Fixed precision loss bug in some mathematical functions such
as SQRT()
and
LOG()
. (Bug#4356)
Fixed a long-standing problem with LOAD
DATA
with the LOCAL
option. The
problem occurs when an error happens during the
LOAD DATA
operation.
Previously, the connection was broken. Now the error message
is returned and connection stays open.
Optimizer now treats col IN (val)
the same
way it does for col = val
.
Fixed a problem with
net_buffer_length
when
building the DBD::mysql
Perl module.
(Bug#4206)
lower_case_table_names = 2
(keep case for
table names) was not honored with ALTER
TABLE
and CREATE/DROP INDEX
.
(Bug#3109)
Fixed a crash on declaration of
DECIMAL(0,...)
column. (Bug#4046)
Fixed a bug in IF()
function
incorrectly determining the result type if aggregate functions
were involved. (Bug#3987)
Fixed bug in privilege checking where, under some conditions, one was able to grant privileges on the database, he has no privileges on. (Bug#3933)
Fixed crash in MATCH ... AGAINST()
on a
phrase search operator with a missing closing double quote.
(Bug#3870, CVE-2004-0956)
Values greater than 4294967295 of system variables were truncated on 64-bit platforms. (Bug#3754)
If server-id
was not set using startup
options but with
SET
GLOBAL
, the replication slave still complained that
it was not set. (Bug#3829)
Fixed potential memory overrun in
mysql_real_connect()
(which
required a compromised DNS server and certain operating
systems). (Bug#4017, CVE-2004-0836)
During the installation process of the server RPM on Linux,
mysqld was run as the
root
system user, and if you had
--log-bin=
it created binary log files owned by somewhere_out_of_var_lib_mysql
root
in this directory, which remained owned by
root
after the installation. This is now
fixed by starting mysqld as the
mysql
system user instead. (Bug#4038)
Made DROP DATABASE
honor the
value of
lower_case_table_names
.
(Bug#4066)
The slave SQL thread refused to replicate
INSERT ...
SELECT
if it examined more than 4 billion rows.
(Bug#3871)
Fixed incorrect destruction of expression which led to crash
of server on complex
AND
/OR
expressions if query was ignored (either by a replication
server because of --replicate-*-table
rules,
or by any MySQL server because of a syntax error). (Bug#3969,
Bug#4494)
Fixed that mysqlbinlog --position
--read-from-remote-server had wrong #
at
lines. (Bug#4506)
If CREATE TEMPORARY TABLE t SELECT
failed
while loading the data, the temporary table was not dropped.
(Bug#4551)
Fixed that when a multiple-table DROP
TABLE
failed to drop a table on the master server,
the error code was not written to the binary log. (Bug#4553)
When the slave SQL thread was replicating a
LOAD DATA
INFILE
statement, it didn't show the statement in
the output of SHOW PROCESSLIST
.
(Bug#4326)
Fixed that CREATE TABLE ... TYPE=HEAP ... AS
SELECT...
caused replication slave to stop.
(Bug#4971)
Fixed that disable-local-infile
option had
no effect if client read it from a configuration file using
mysql_options(...,MYSQL_READ_DEFAULT,...)
.
(Bug#5073)
Fixed that mysql-test-run failed on the
rpl_trunc_binlog
test if running test from
the installed (the target of 'make install') directory.
(Bug#5050)
Fixed an unlikely deadlock which could happen when using
KILL
. (Bug#4810)
Fixed a crash when one connection got
KILL
ed while it was doing
START SLAVE
. (Bug#4827)
Made FLUSH TABLES WITH
READ LOCK
block
COMMIT
if server is running
with binary logging; this ensures that the binary log position
is trustable when doing a full backup of tables and the binary
log. (Bug#4953)
Fixed that the counter of an auto_increment
column was not reset by TRUNCATE
TABLE
is the table was a temporary one. (Bug#5033)
Made database names to compare case-insensitively in fully
qualified column names
(database.table.column
) when
lower_case_table_names = 1
. (Bug#4792)
Fixed that SET CHARACTER SET
was not
replicated correctly. MySQL 4.1 does not have that bug.
(Bug#4500)
Fixed a symlink vulnerability in the
mysqlhotcopy
script. (CVE-2004-0457)
User Comments
Add your own comment.