I just switched to using InnoDB tables (Linux, using binary mysql
mysql-max-3.23.51, autocommit on), and now my replication dies when I
rename a table, with:

        ERROR: 1192  Can't execute the given command because 
                                                you have active locked tables or
                                                an active transaction
        020730 14:53:49  Slave:  error running query 'rename table foo to foobar' 
        020730 14:53:49  Error running query, slave aborted. Fix the
                                                problem, and re-start the slave thread 
with
                                                "mysqladmin start-slave". We stopped 
at log 
                                                'db-bin.003' position 1024192196
        020730 14:53:49  Slave thread exiting, replication stopped in 
                                                log 'db-bin.003' at position 1024192196

I type "mysqladmin start-slave" as it suggests, and replication picks
up where it left off:

        020730 14:54:27  Slave: connected to master '[EMAIL PROTECTED]:3306',
                                                replication started in log 
'db-bin.003' at
                                                position 1024192196

I can reproduce the problem with (on the master):

        create table foo (a int);
        rename table foo to foobar;

Then the slave dies.  Is this a known problem?  I couldn't find
anything at google or the list archives, but I've been off the list
for a while.  Is there a workaround?

Additionally, table renames seem to be outside the transaction space.
So if I do:

        set autocommit = 0;
        begin;
        rename table foobar to foo;
        rollback;

the rename is done anyway, and seen by other clients immediately after
the rename command.  Is this normal?

Thanks for any help,

--Pete

---------------------------------------------------------------------
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