Как включить в дамп временные таблицы (temporary tables)?

Zuklon
Дата: 13.02.2013 12:32:21
Пытаюсь поднять репликацию между двумя серверами без остановки Master'а.
Предисловие:
Для того чтобы поднять репликацию на Slave сервере нам необходим дамп реплицируемой базы, номер bin-log файла, и "Position" мастера. По-хорошему надо разогнать пользователей, залочить базу, сделать дамп и уже переносить на Slave. Лочим базу для того чтобы во время дампа не изменилось число "Position". Но такой возможности нет, база колоссальных размеров, дамп сливается ~5 минут, пользуются ей круглосуточно. Был найден выход, ночью дамп делается каждый час и в текстовик перед выполнением и после выполнения дампа записывается число Position. Удалось отловить "хороший" дамп. Но при попытке запустить репликацию она прекращается практически сразу из за ошибки обращения к таблице которой не существует. Mysqldump обходит временные таблицы, а репликация распространяется и на них (в bin-log пишется всё).

Вопрос:

Можно ли включить в создание дампа базы таблицу создающуюся посредством CREATE TEMPORARY TABLE ?
tanglir
Дата: 13.02.2013 12:36:49
Zuklon
Пытаюсь поднять репликацию между двумя серверами без остановки Master'а.
Предисловие:
Для того чтобы поднять репликацию на Slave сервере нам необходим дамп реплицируемой базы, номер bin-log файла, и "Position" мастера. По-хорошему надо разогнать пользователей, залочить базу, сделать дамп и уже переносить на Slave. Лочим базу для того чтобы во время дампа не изменилось число "Position". Но такой возможности нет, база колоссальных размеров, дамп сливается ~5 минут, пользуются ей круглосуточно. Был найден выход, ночью дамп делается каждый час и в текстовик перед выполнением и после выполнения дампа записывается число Position. Удалось отловить "хороший" дамп. Но при попытке запустить репликацию она прекращается практически сразу из за ошибки обращения к таблице которой не существует. Mysqldump обходит временные таблицы, а репликация распространяется и на них (в bin-log пишется всё).

Вопрос:

Можно ли включить в создание дампа базы таблицу создающуюся посредством CREATE TEMPORARY TABLE ?
А они вам нужны на реплике, эти темптаблицы? Если нет, то рассмотрите такой вариант:
ман
A recommended practice when using statement-based or mixed-format replication is to designate a prefix for exclusive use in naming temporary tables that you do not want replicated, then employ a --replicate-wild-ignore-table option to match that prefix. For example, you might give all such tables names beginning with norep (such as norepmytable, norepyourtable, and so on), then use --replicate-wild-ignore-table=norep% to prevent them from being replicated.
Zuklon
Дата: 13.02.2013 12:53:11
tanglir,
И вы безусловно правы! Возможно именно этот выход будет наиболее правильным. Спасибо!