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