>Description:
        When setting replication to only replicate one database between servers via 
the binlog-do-db option in my.cnf, it is possible to miss updates on the
master server, or to replicate updates on databases other than the one
specified.  All updates are logged to the binary log and replicated if you have 
spefied to use the target database, even if the updates are specifically to
a different database via the DATABASE.TABLE syntax.  Alternately updates are
NOT Logged and replicated if you have not specified to use the target database, even 
if you use the DATABASE.TABLE syntax.
        This could cause undesirable effects as it could cause unintended
changes to databases other than the one you are intending on replicating.

>How-To-Repeat:
        Set up a two servers using replication on one table only using the
binlog-do-db=database in the my.cnf file.  Open the mysql client on the master
server but do not specify a database to use.  Perform an update to the
replicated database using the DATABASE.TABLE syntax in your query to specify
the exact database and table to update.  This update will not be logged or
replicated.  Alternately issue a USE DATABASE command to specify using the
replicated DATABASE.  Now issue a command to update a table in a different
database, for example "UPDATE MYSQL.user SET Password=PASSWORD('test') WHERE
User = 'root';".  This update will be logged to the bin_log and will be
replicated in the slave server.

>Fix:
        When using the binlog-do-db option, update queries should be checked
to see if they specify a DATABASE in the query, and logged if they Specify the
database to log, even if this database is not currently selected.  They should
also be checked if the database to log is currently selected to ensure that
they do not specify a different database before they are logged.

>Submitter-Id:  [EMAIL PROTECTED]
>Originator:    [EMAIL PROTECTED]
>Organization:  I-Land Internet Services
>MySQL support: none
>Synopsis:      Replication Undesireable Effects.
>Severity:      non-critical
>Priority:      low
>Category:      mysql
>Class:         sw-bug
>Release:       mysql-3.23.33 (Source distribution)
>Server: /usr/local/bin/mysqladmin  Ver 8.0 Distrib 3.23.33, for pc-linux-gnu on i686
TCX Datakonsult AB, by Monty

Server version          3.23.33-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 32 min 11 sec
 
Threads: 2  Questions: 114  Slow queries: 4  Opens: 8  Flush tables: 1  Open tables: 2 
Queries per second avg: 0.059
>Environment:
        
System: Linux systech.iland.net 2.2.17-14-JLH #1 Mon Feb 19 12:56:34 CST 2001 i686 
unknown
Architecture: i686
 
Some paths:  /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/ccGCC: 
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
Compilation info: CC='gcc'  CFLAGS=''  CXX='c++'  CXXFLAGS=''  LDFLAGS=''
Configure command: ./configure
Perl: This is perl, version 5.005_03 built for i386-linux

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to