| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Functionality added or changed:
For replication of MEMORY (HEAP) tables: Made the master
automatically write a DELETE FROM statement to its binary log when a
MEMORY table is opened for the first time since master's startup.
This is for the case where the slave has replicated a non-empty
MEMORY table, then the master is shut down and restarted: the table
is now empty on master; the DELETE FROM empties it on slave too. Note
that even with this fix, between the master's restart and the first use of
the table on master, the slave still has out-of-date data in the table. But
if you use the --init-file option to populate the MEMORY table
on the master at startup, it ensures that the failing time interval is zero.
(Bug #2477)
When a session having open temporary tables terminates, the statement
automatically written to the binary log is now DROP TEMPORARY TABLE IF
EXISTS instead of DROP TEMPORARY TABLE, for more robustness.
The MySQL server now returns an error if SET SQL_LOG_BIN is issued by a
user without the SUPER privilege (in previous versions it just silently
ignored the statement in this case).
Changed that when the MySQL server has binary logging disabled (that is, no
log-bin option was used) then no transaction binlog cache is allocated
for connections (this should save binlog_cache_size bytes of memory (32
kilobytes by default) for every connection).
Added option --replicate-same-server-id.
Bugs fixed:
Strange results with index (x, y) ... WHERE x=val_1 AND y>=val_2 ORDER BY pk; (Bug #3155)
Subquery and order by (Bug #3118)
ALTER DATABASE caused the client to hang if the database did not
exist. (Bug #2333)
SLAVE START (which is a deprecated syntax, START SLAVE should be
used instead) could crash the slave. (Bug #2516)
Multiple-table DELETE statements were never replicated by the slave if
there were any replicate-*-table options. (Bug #2527)
The MySQL server did not report any error if the query (submitted through
mysql_real_query() or mysql_prepare()) was terminated by garbage
characters (which can happen if you pass a wrong length parameter to
mysql_real_query() or mysql_prepare()); the result was that the
garbage characters were written into the binary log. (Bug #2703)
Replication:
If a client connects to a slave server and issues an administrative
statement for a table (for example, OPTIMIZE TABLE or REPAIR
TABLE), this could sometimes stop the slave SQL thread. This does not lead
to any corruption, but you must use START SLAVE to get replication
going again. (Bug #1858)
Made clearer the error message which one gets when an update is refused because
of the read-only option. (Bug #2757)
Fixed that replicate-wild-*-table rules apply to ALTER DATABASE
when the table pattern is '%', like it is already the case for CREATE
DATABASE and DROP DATABASE. (Bug #3000)
Fixed that when a Rotate event is found by the slave SQL thread in the
middle of a transaction, the value of Relay_Log_Pos in SHOW SLAVE
STATUS remains correct. (Bug #3017)
Corrected the master's binary log position that InnoDB reports when it is doing a
crash recovery on a slave server. (Bug #3015)
Changed the column Seconds_Behind_Master in SHOW SLAVE STATUS to
never show a value of -1. (Bug #2826)
Changed that when a DROP TEMPORARY TABLE statement is automatically
written to the binlog when a session ends, the statement is recorded with an
error code of value zero (this ensures that killing a SELECT on the
master does not result in a superfluous error on the slave). (Bug #3063)
Changed that when a thread handling INSERT DELAYED (also known as a
delayed_insert thread) is killed, its statements are recorded with an
error code of value zero (killing such a thread does not endanger
replication, so we thus avoid a superfluous error on the slave). (Bug #3081)
Fixed deadlock when two START SLAVE commands were run at the same
time. (Bug #2921)
Fixed that a statement never triggers a superfluous error on the slave, if it
must be excluded given the replicate-* options. The bug was that if the
statement had been killed on the master, the slave would stop. (Bug #2983)
The --local-load option of mysqlbinlog now requires an argument.
Fixed a segmentation fault when running LOAD DATA FROM MASTER after
RESET SLAVE. (Bug #2922)
mysqlbinlog --read-from-remote-server read all binary logs following the
one that was requested. It now stops at the end of the requested file, the
same was it does when reading a local binary log. (Bug #3204)
Fixed mysqlbinlog --read-from-remote-server to print the exact
positions of events in the "at #" lines. (Bug #3214)
Fixed a rare error condition that caused the slave SQL thread spuriously
to print the message Binlog has bad magic number and stop when it
was not necessary to do so. (Bug #3401)
Fixed mysqlbinlog not to forget to print a USE statement
under rare circumstances where the binary log contained a LOAD DATA
INFILE statement. (Bug #3415)
Fixed a memory corruption when replicating a LOAD DATA INFILE when the
master had version 3.23. (Bug #3422)
Multiple-table DELETE statements were always replicated by the slave if
there were some replicate-*-ignore-table options and no
replicate-*-do-table options. (Bug #3461)
Fixed a crash of the MySQL slave server when it was built with
--with-debug and replicating itself. (BUG #3568)
Fixed that in some replication error messages, a very long query caused the rest of the message to be invisible (truncated), by putting the query last in the message. (Bug #3357)
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on July, 26 2004 using texi2html 1.70.