MySQL главный ведомый "таблица уже существует", но таблица не существует

У меня 1 мастер MySQL процесс и 2 раб.

Сегодня на обоих рабах я вижу:

Ошибка "Таблица"bgbilling,contract_status_balance_dump"уже существует" по запросу. База данных по умолчанию: "bgbilling". Запрос: 'CREATE TABLE contract_status_balance_dump( UNIQUE(cid)) SELECT cid, MAX(yy*12+(mm-1))%12 + 1 AS мм,FLOOR(MAX(yy*12+(mm-1)) / 12) КАК ГОД ИЗ КОНТРАКТА_БАЛАНСА GROUP BY cid '

"Показать таблицы" не показывает эту таблицу.

Я попытался остановить ведомого, и сделать "удалить таблицу contract_status_balance_dump", но:

ОШИБКА 1051 (42S02): неизвестная таблица 'contract_status_balance_dump'

Как это возможно? И как это исправить?

2 ответа

Решение

Вот как это исправить

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

Убедитесь , что при проверке ведомого вы запускаете команду 'ls bgbilling/contract_status_balance_dump' внутри базы данных 'bgbilling'. Надеюсь, что это полезно, удачи:)

Другие вопросы по тегам