Functionality added or changed:
PRIMARY KEY now implies
The Windows binary packages are now compiled with
--enable-local-infile to match the Unix
Removed timing of tests from
does not accept all required parameters on many platforms
(for example, QNX) and timing the tests is not really
required (it's not a benchmark anyway).
SHOW MASTER STATUS and
SLAVE STATUS required the
privilege; now they accept
CLIENT as well. (Bug#343)
Added multi-threaded MyISAM repair optimization and
myisam_repair_threads variable to enable
it. See 項126.96.36.199. 「
which controls amount of dirty pages allowed in
InnoDB buffer pool.
denied error messages now report the hostname
exactly as it was specified in the
Removed benchmark results from the source and binary distributions. They are still available in the BK source tree, though.
InnoDB tables now support
MySQL now issues an error when it opens a table that was created with MySQL 4.1.
--new now changes binary items
0xFFDF) to be treated as binary strings
instead of numbers by default. This fixes some problems with
character sets where it's convenient to input the string as
a binary item. After this change you have to convert the
binary string to
INTEGER with a
CAST if you want to compare two binary
items with each other and know which one is bigger than the
SELECT CAST(0xfeff AS UNSIGNED) <
CAST(0xff AS UNSIGNED). This will be the default
behavior in MySQL 4.1. (Bug#152)
delayed_insert_timeout on Linux
(most modern glibc libraries have a fixed
Don't create more insert delayed threads than given by
UPDATE ... LIMIT to apply the
limit to rows that were matched, whether or not they
actually were changed. Previously the limit was applied as a
restriction on the number of rows changed.
Tuned optimizer to favor clustered index over table scan.
now return an unsigned 64-bit value.
Added warnings to error log of why a secure connection
failed (when running with
--use-symbolic-links and replaced these
The default option for
changed from 0 to 1 to make
ACID by default. See 項7.5.3. 「InnoDB 起動オプション」.
Added a feature to
SHOW KEYS to display
keys that are disabled by
ALTER TABLE DISABLE
When using a non-existing table type with
TABLE, first try if the default table type exists
before falling back to
MEMORY as an alias for
my_rnd as the name was too generic and is
an exported symbol in
(thanks to Dennis Haney for the initial patch).
Portability fix: renamed
mysqldump no longer silently deletes the
binlogs when called with
--first-slave; while this behavior was
convenient for some users, others may suffer from it. Now
one has to explicitely ask for this deletion with the new
If the slave is configured (using for example
mysql.columns_priv from replication, then
not be replicated.
Access denied error message had
Using password value. (Bug#398)
Fixed bug with
NATURAL LEFT JOIN,
NATURAL RIGHT JOIN and
JOIN when using many joined tables. The problem
was that the
JOIN method was not always
associated with the tables surrounding the
JOIN method. If you have a query that
RIGHT JOIN or
... JOINS you should check that they work as you
expected after upgrading MySQL to this version. (Bug#291)
mysql command line client no longer looks
\* commands inside backtick-quoted
Unknown error when using
UPDATE ... LIMIT. (Bug#373)
Fixed problem with ANSI mode and
with constants. (Bug#387)
Fixed bug with
Fixed bug if one used a multiple-table
UPDATE and the query required a temporary
table bigger than
mysql_install_db with the
-IN-RPM option for the Mac OS X
installation to not fail on systems with improperly
configured hostname configurations.
LOAD DATA INFILE will now read
000000 as a zero date instead as
Fixed bug that caused
DELETE FROM table WHERE
const_expression always to delete the whole table
(even if expression result was false). (Bug#355)
Fixed core dump bug when using
Fixed name resolution bug with
Fixed incorrect result from truncation operator
AGAINST() in some complex joins.
Fixed a crash in
REPAIR ... USE_FRM
command, when used on read-only, nonexisting table or a
table with a crashed index file.
Fixed a crashing bug in mysql monitor program. It occurred
if program was started with
with a prompt that contained hostname and connection to
non-existing db was requested
Fixed problem when comparing a key for a multi-byte-character set. (Bug#152)
Fixed bug in
used with multi-byte character sets and some
BY queries. (Bug#314)
Fix problem with
ORDER BY being discarded
DISTINCT queries. (Bug#275)
SET SQL_BIG_SELECTS=1 works as
documented (This corrects a new bug introduced in 4.0)
Fixed some serious bugs in
UPDATE ... ORDER
Fixed unlikely problem in optimizing
WHERE clause with constant expression
WHERE 1 AND (a=1 AND b=1).
SET SQL_BIG_SELECTS=1 works
Introduced proper backtick quoting for db.table in
FULLTEXT index stopped working after
ALTER TABLE that converts
TEXT column to
Fixed a security problem with
wildcarded select list, when user only had partial column
SELECT privileges on the table.
Mark a MyISAM table as "analyzed" only when all the keys are indeed analyzed.
Only ignore world-writeable
files that are regular files (and not, for example, named
pipes or character devices).
Fixed few smaller issues with
Fixed error message which contained deprecated text.
Fixed a bug with two
NATURAL JOINs in the
SUM() didn't return
NULL when there was no rows in result or
when all values was
On Unix symbolic links handling was not enabled by default and there was no way to turn this on.
Added missing dashes to parameter
Fixed incorrect hostname for TCP/IP connections displayed in
Fixed a bug with
FORMAT(...) function ...
Fixed a bug with improperly cached database privileges.
Fixed a bug in
ALTER TABLE ENABLE / DISABLE
KEYS which failed to force a refresh of table data
in the cache.
Fixed a replication bug when the master is 3.23 and the
slave 4.0: the slave lost the replicated temporary tables if
FLUSH LOGS was issued on the master. (Bug#254)
Fixed a bug when doing
LOAD DATA INFILE
IGNORE: When reading the binary log,
mysqlbinlog and the replication code read
REPLACE instead of
IGNORE. This could make the slave's table
become different from the master's table. (Bug#218)
Fixed a deadlock when
relay_log_space_limit was set to a too
small value. (Bug#79)
Fixed a bug in HAVING clause when an alias is used from the select list.
Fixed overflow bug in
MyISAM when a row
is inserted into a table with a large number of columns and
at least one
BLOB/TEXT column. Bug was
caused by incorrect calculation of the needed buffer to pack
Fixed a bug when
caused the error in client - server protocol due to
net_printf() being sent to the client twice.
Fixed a bug in setting
Fixed a bug in
SHOW PROCESSLIST which
only displayed a localhost in the
column. This was caused by a glitch that only used current
thread information instead of information from the linked
list of threads.
Removed unnecessary Mac OS X helper files from server RPM. (Bug#144)
Allow optimization of multiple-table update for
InnoDB tables as well.
Fixed a bug in multiple-table updates that caused some rows to be updated several times.
Fixed a bug in
mysqldump when it was
CHANGE MASTER TO commands appended to the
SQL dump had incorrect coordinates. (Bug#159)
Fixed a bug when an updating query using
USER() was replicated on the slave; this
caused segfault on the slave. (Bug#178).
USER() is still badly replicated on the
slave (it is replicated to
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.