Fonctionnalités ajoutées ou modifiées :
The SCHEMA
and SCHEMAS
keywords now are accepted as synonyms for
DATABASE
and
DATABASES
.
Added initial support for rudimentary triggers.
Added basic support for read-only server side cursors.
Added --start-datetime
,
--stop-datetime
,
--start-position
,
--stop-position
options to
mysqlbinlog (makes point-in-time recovery
easier).
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).
New --auto-increment-increment
and
--auto-increment-offset
startup options.
These allow you to set up a server to generate
auto-increment values that don't conflict with another
server.
MySQL now by default will check dates and only allow fully
correct dates. If you want to MySQL to behave as default,
you should enable the new
ALLOW_INVALID_DATES
SQL mode.
Added STRICT_TRANS_TABLES
,
STRICT_ALL_TABLES
,
NO_ZERO_IN_DATE
,
NO_ZERO_DATE
,
ERROR_FOR_DIVISION_BY_ZERO
, and
TRADITIONAL
SQL modes. The
TRADITIONAL
mode is shorthand for all the
preceding modes. When using mode
TRADITIONAL
, MySQL generates an error if
you try to insert a wrong value in a column. It does not
adjust the value to the closest possible legal value.
MySQL now remembers which columns were declared to have
default values. In
STRICT_TRANS_TABLES
/STRICT_ALL_TABLES
mode, you now get an error if you do an
INSERT
without specifying all columns
that don't have a default value. A side effect of this is
that when you do SHOW CREATE
for a new
table, you will no longer see a DEFAULT
value for a column for which you didn't specify a default
value.
The compilation flag
DONT_USE_DEFAULT_FIELDS
was removed
because you can get the same behavior by setting the
sql_mode
system variable to
STRICT_TRANS_TABLES
.
We now detect too-large floating point numbers during statement parsing and generate an error messages for them.
Renamed the sql_updatable_view_key
system
variable to updatable_views_with_limit
.
This variable now can have only two values:
1
or YES
: Don't
issue an error message (warning only) if a VIEW without
presence of a key in the underlying table is used in
queries with a LIMIT
clause for
updating. (This is the default value.)
0
or NO
: Prohibit
update of a VIEW, which does not contain a key in the
underlying table and the query uses a
LIMIT
clause (usually get from GUI
tools).
Reverted output format of SHOW TABLES
to
old pre-5.0.1 format that did not include a table type
column. To get the additional column that lists the table
type, use SHOW FULL TABLES
now.
The mysql_fix_privilege_tables script now
initializes the global CREATE VIEW
and
SHOW VIEW
privileges in the
user
table to the value of the
CREATE
privilege in that table.
If the server finds that the user
table
has not been upgraded to include the view-related privilege
columns, it treats each account as having view privileges
that are the same as its CREATE
privilege.
Bogues corrigés :
Fixed that mysqlbinlog --read-from-remote-server sometimes couldn't accept two binary logfiles on the command line. (Bug#4507)
Fixed that mysqlbinlog --position
--read-from-remote-server had incorrect #
at
lines. (Bug#4506)
Fixed that CREATE TABLE ... TYPE=HEAP ... AS
SELECT...
caused replication slave to stop. (Bug#4971)
Fixed that
mysql_options(...,MYSQL_OPT_LOCAL_INFILE,...)
failed to disable LOAD DATA LOCAL INFILE
.
(Bug#5038)
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 SET GLOBAL SYNC_BINLOG
did not
work on some platforms (Mac OS X). (Bug#5064)
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 that mysql-test-run failed on the
grant_cache
test when run as Unix user
'root'. (Bug#4678)
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 can be
trusted 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)
Fixed slave SQL thread so that the SET
COLLATION_SERVER...
statements it replicates don't
advance its position (so that if it gets interrupted before
the actual update query, it will later redo the
SET
). (Bug#5705)
Fixed that if the slave SQL thread found a syntax error in a query (which should be rare, as the master parsed it successfully), it stops. (Bug#5711)
Fixed that if a write to a MyISAM table fails because of a full disk or an exceeded disk quota, it prints a message to the error log every 10 minutes, and waits until disk becomes free. (Bug#3248)
Fixed problem introduced in 4.0.21 where a connection
starting a transaction, doing updates, then FLUSH
TABLES WITH READ LOCK
, then
COMMIT
, would cause replication slaves to
stop complaing about error 1223. Bug surfaced when using the
InnoDB innobackup
script. (Bug#5949)
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.