SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.07.2009 21:12:48

terrible
Участник
Зарегистрирован: 15.07.2009
Сообщений: 1

Прошу совета: репликация с сохранением полей Auto_increment

На серваке порядка 90% всех таблиц имеют поле Auto_increment.
Хотел подтянуть второй сервер и запустить репликацию с первого, но наткнулся на проблему ошибки 1062 (Dublicate Entry).

Менять значения этих полей нельзя, т.к. на них ссылаются другие таблицы, т.е. сделать аналог master -- master репликации не получится.
работать будет всего 1 сервер, второй тупо резервный для быстрого переключения.

Есть 2 варианта:
1) Полностью уходить от поля Auto_increment и другими программными методами его реализовывать.
2) тупо дампить на второй серв, но это занимает 5 минут пиковой нагрузки первого

Как лучше поступить в моём случае?

Неактивен

 

#2 27.07.2009 21:56:18

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Прошу совета: репликация с сохранением полей Auto_increment

Для того, чтобы сделать репликацию, Вам нужен бэкап и двоичный журнал после бэкапа.
Если таблички MyISAM, то их прийдется блокировать на время бэкапа. Если InnoDB — то нет.

MyISAM:
mysqldump -B dbname --lock-tables --master-data | gzip >dump.sql.gz

InnoDB:
mysqldump -B dbname --single-transaction --master-data | gzip >dump.sql.gz

В бэкап при этом будет записано положение в двоичном журнале, с которого нужно начать
репликацию (и тогда никаких проблем с auto_increment не будет).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson