Functionality added or changed:
Write memory allocation information to error log when doing
mysqladmin debug
. This works only on
systems that support the mallinfo()
call
(like newer Linux systems).
Added the following new server variables to allow more
precise memory allocation:
range_alloc_block_size
,
query_alloc_block_size
,
query_prealloc_size
,
transaction_alloc_block_size
, and
transaction_prealloc_size
.
mysqlbinlog
now reads option files. To
make this work one must now specify
--read-from-remote-server
when reading
binary logs from a MySQL server. (Note that using a remote
server is deprecated and may disappear in future
mysqlbinlog
versions).
Block SIGPIPE
signals also for
non-threaded programs. The blocking is moved from
mysql_init()
to
mysql_server_init()
, which is
automatically called on the first call to
mysql_init()
.
Added --libs_r
and
--include
options to
mysql_config
.
New `>
prompt for
mysql
. This prompt is similar to the
'>
and ">
prompts, but indicates that an identifier quoted with
backticks was begun on an earlier line and the closing
backtick has not yet been seen.
Updated mysql_install_db
to be able to
use the local machine's IP address instead of the host name
when building the initial grant tables if
skip-name-resolve
has been specified.
This option can be helpful on FreeBSD to avoid thread-safety
problems with the FreeBSD resolver libraries. (Thanks to
Jeremy Zawodny for the patch.)
A documentation change: Added a note that when backing up a
slave, it is necessary also to back up the
master.info
and
relay-log.info
files, as well as any
SQL_LOAD-*
files located in the
directory specified by the
--slave-load-tmpdir
option. All these files
are needed when the slave resumes replication after you
restore the slave's data.
Bugs fixed:
Fixed a spurious error ERROR 14: Can't change size
of file (Errcode: 2)
on Windows in DELETE
FROM table_name
without a WHERE
clause or TRUNCATE TABLE table_name
, when
table_name
is a MyISAM
table. (Bug#1397)
Fixed a bug that resulted in thr_alarm queue is
full
warnings after increasing the
max_connections
variable with
SET GLOBAL
. (Bug#1435)
Made LOCK TABLES
to work when
Lock_tables_priv
is granted on the
database level and Select_priv
is granted
on the table level.
Fixed crash of FLUSH QUERY CACHE
on
queries that use same table several times (Bug#988).
Fixed core dump bug when setting an enum system variable
(such as SQL_WARNINGS
) to
NULL
.
Extended the default timeout value for Windows clients from
30 seconds to 1 year. (The timeout that was added in MySQL
4.0.15 was way too short). This fixes a bug that caused
ERROR 2013: Lost connection to MySQL server during
query
for queries that lasted longer than 30
seconds, if the client didn't specify a limit with
mysql_options()
. Users of 4.0.15 on
Windows should upgrade to avoid this problem.
More ``out of memory'' checking in range optimizer.
Fixed and documented a problem when setting and using a user
variable within the same SELECT
statement. (Bug#1194).
Fixed bug in overrun check for BLOB
values with compressed tables. This was a bug introduced in
4.0.14. It caused MySQL to regard some correct tables
containing BLOB
values as corrupted. (Bug#770, Bug#1304, and maybe Bug#1295)
SHOW GRANTS
showed
USAGE
instead of the real column-level
privileges when no table-level privileges were given.
When copying a database from the master, LOAD DATA
FROM MASTER
dropped the corresponding database on
the slave, thus erroneously dropping tables that had no
counterpart on the master and tables that may have been
excluded from replication using
replicate-*-table
rules. Now
LOAD DATA FROM MASTER
no longer drops the
database. Instead, it drops only the tables that have a
counterpart on the master and that match the
replicate-*-table
rules.
replicate-*-db
rules can still be used to
include or exclude a database as a whole from LOAD
DATA FROM MASTER
. A database will also be included
or excluded as a whole if there are some rules like
replicate-wild-do-table=db1.%
or
replicate-wild-ignore-table=db1.%
, as is
already the case for CREATE DATABASE
and
DROP DATABASE
in replication. (Bug#1248)
Fixed a bug where mysqlbinlog
crashed
with a segmentation fault when used with the
-h
or --host
option.
(Bug#1258)
Fixed a bug where mysqlbinlog
crashed
with a segmentation fault when used on a binary log
containing only final events for LOAD
DATA
. (Bug#1340)
Fixed compilation problem when compiling with OpenSSL 0.9.7
with disabled old DES support (If
OPENSSL_DISABLE_OLD_DES_SUPPORT
option
was enabled).
Fixed a bug when two (or more) MySQL servers were running on
the same machine, and they were both slaves, and at least
one of them was replicating some LOAD DATA
INFILE
command from its master. The bug was that
one slave MySQL server sometimes deleted the
SQL_LOAD-*
files (used for replication
of LOAD DATA INFILE
and located in the
slave-load-tmpdir
directory, which
defaults to tmpdir
) belonging to the
other slave MySQL server of this machine, if these slaves
had the same slave-load-tmpdir
directory.
When that happened, the other slave could not replicate
LOAD DATA INFILE
and complained about not
being able to open some SQL_LOAD-*
file.
(Bug#1357)
If LOAD DATA INFILE
failed for a small
file, the master forgot to write a marker (a
Delete_file
event) in its binary log, so
the slave could not delete 2 files
(SQL_LOAD-*.info
and
SQL_LOAD-*.data
from its
tmpdir
. (Bug#1391)
On Windows, the slave forgot to delete a
SQL_LOAD-*.info
file from
tmpdir
after successfully replicating a
LOAD DATA INFILE
command. (Bug#1392)
When a connection terminates, MySQL writes DROP
TEMPORARY TABLE
statements to the binary log for
all temporary tables which the connection had not
explicitely dropped. MySQL forgot to backquote the database
and table names in the statement. (Bug#1345)
On some 64-bit machines (some HP-UX and Solaris machines), a slave installed with the 64-bit MySQL binary could not connect to its master (it connected to itself instead). (Bug#1256, Bug#1381)
Code was introduced in MySQL 4.0.15 for the slave to detect that the master had died while writing a transaction to its binary log. This code reported an error in a legal situation: When the slave I/O thread was stopped while copying a transaction to the relay log, the slave SQL thread would later pretend that it found an unfinished transaction. (Bug#1475)
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.