>Description: I have two DB servers that we will simply call MASTER and SLAVE. MASTER is started with --binlog-do-db=DB1 so that only DB1 will be replicated to SLAVE. When SLAVE is initially started everything seems normal, in that all update/delete/insert/etc. queries are propogated to SLAVE. However, if I issue a query similar to the one below, the SLAVE dies:
Example Query: INSERT INTO DB2.sometable (field1,field2) SELECT field1,field2 FROM DB1.sometable WHERE (some condition); Query Explanation: Basically it moves all data from one table in DB1 to a table in DB2 Error: mysql> SHOW SLAVE STATUS\G *************************** 1. row *************************** Master_Host: master.host Master_User: replication Master_Port: 3306 Connect_retry: 60 Log_File: master-bin.001 Pos: 31191383 Slave_Running: No Replicate_do_db: Replicate_ignore_db: Last_errno: 1146 Last_error: error 'Table 'DB2.sometable' doesn't exist' on query 'INSERT INTO DB2.sometable (field1,field2) SELECT field1,field2 FROM DB1.sometable WHERE (some condition);' Skip_counter: 0 1 row in set (0.00 sec) >How-To-Repeat: I can reproduce this error with the above configuration at any time. All servers are binary distribution of 3.23.44 for linux (glibc). MySQLd startup options for each server are as follows: MASTER ------ --set-variable back_log=100 --set-variable long_query_time=5 --set-variable delayed_insert_timeout=60 --set-variable delayed_insert_limit=30 --set-variable max_connections=256 --set-variable max_connect_errors=10000 --set-variable table_cache=256 --set-variable wait_timeout=60 --set-variable thread_cache_size=10 --set-variable key_buffer_size=64M --log-bin --server-id=1 --binlog-do-db=DB1 --user=mysql SLAVE ----- --set-variable back_log=100 --set-variable long_query_time=5 --set-variable max_connections=256 --set-variable max_connect_errors=10000 --set-variable table_cache=256 --set-variable wait_timeout=60 --master-host=master.host --master-user=someuser --master-password=XXXXXXX --server-id=2 --user=mysql >Fix: Well I can rewrite my query, but that doesn't seem like a permanant solution. I'm open to suggestions. The query IMHO shouldn't be getting put into the binary log since the DB that is effected is not the one specified with --binlod-do-db flag. I suspect whatever --binlog-do-db does it at fault. This behavior may be by design, I don't know. Any response would be appreciated, I am not on the mysql list so please respond via personal email if possible. Even if this behavior is intentional I would appreciate knowing, so I can determine what needs redesigned in my system. >Submitter-Id: <submitter ID> >Originator: wrath >Organization: >MySQL support: none >Synopsis: Replication errors with INSERT INTO......SELECT FROM.... >Severity: serious >Priority: medium >Category: mysql >Class: sw-bug >Release: mysql-3.23.44 (Official MySQL binary) >Environment: System: Linux XXXXXX 2.2.19 #2 Fri Jun 8 04:23:06 UTC 2001 i686 unknown Architecture: i686 Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc GCC: Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) Compilation info: CC='gcc' CFLAGS='-O3 -mpentium ' CXX='gcc' CXXFLAGS='-O3 -mpentium -felide-constructors' LDFLAGS='-static' LIBC: lrwxrwxrwx 1 root root 13 Apr 19 2001 /lib/libc.so.6 -> libc-2.1.3.so -rwxr-xr-x 1 root root 1013224 Mar 21 2000 /lib/libc-2.1.3.so -rw-r--r-- 1 root root 20266642 Mar 20 2000 /usr/lib/libc.a -rw-r--r-- 1 root root 178 Mar 20 2000 /usr/lib/libc.so Configure command: ./configure --prefix=/usr/local/mysql '--with-comment=Official MySQL binary' --with-extra-charsets=complex --with-server-suffix= --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --disable-shared --------------------------------------------------------------------- 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