mysql master slave “a tabela já existe” mas a tabela não existe

1

Eu tenho 1 processo master mysql e 2 slave.

Hoje, em ambos os escravos, vejo:

Error 'Table 'bgbilling.contract_status_balance_dump' already exists' on query. Default database: 'bgbilling'. Query: 'CREATE TABLE contract_status_balance_dump( UNIQUE(cid) ) SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS mm,FLOOR(MAX(yy*12+(mm-1)) / 12) AS yy FROM contract_balance GROUP BY cid'

"mostrar tabelas" não mostra esta tabela.

Eu tentei parar escravo e fazer "drop table contract_status_balance_dump" mas:

ERROR 1051 (42S02): Unknown table 'contract_status_balance_dump'

Como é possível? E como consertar isso?

    
por Korjavin Ivan 02.08.2012 / 05:49

2 respostas

1

Veja como corrigir isso

STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
use bgbilling
DROP TABLE IF EXISTS contract_status_balance_dump;
CREATE TABLE contract_status_balance_dump( UNIQUE(cid) )
SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS mm,FLOOR(MAX(yy*12+(mm-1)) / 12) AS yy
FROM contract_balance GROUP BY cid;
START SLAVE;
SHOW SLAVE STATUS\G
    
por 09.10.2012 / 21:47
1

Certifique-se de que, ao verificar o Escravo, você esteja executando o comando "ls bgbilling / contract_status_balance_dump" dentro do banco de dados "bgbilling". Espero que isso seja útil, boa sorte:)

    
por 09.10.2012 / 20:52