mySQL Table Sync - PullRequest
       15

mySQL Table Sync

2 голосов
/ 28 марта 2011

Я ищу предложения о наилучшем способе синхронизации таблиц mySQL (myISAM) из 2 разных баз данных.

В настоящее время мы используем Navicat для синхронизации таблиц с нашего производственного сервера на наш тестовый сервер, но мы работаемво многих проблемах.Почти каждый день мы сталкиваемся с ошибкой синхронизации в таблице.

Мы часто получаем ошибку ниже, не говоря уже о том, что Navicat рассылает спам по электронной почте с помощью успешных и неуспешных синхронизаций (есть ли в любом случае)просто получать только неудачные синхронизации?).Я также знаю, что изменение таблицы в любом случае приведет к сбою синхронизации.Таким образом, изменение таблицы в любом случае должно быть сначала выполнено для мастера (это имеет смысл, но есть ли способ обойти это?).

- [Синхронизация] Завершено - Неудачная синхронизация: список индексов выходит за пределы (0)

Есть ли причина не использовать синхронизацию Navicat?Мой босс предложил вместо этого использовать репликацию mySQL, но моя первая задача - выяснить, почему у нас так много проблем, потому что кажется, что мы просто неправильно используем синхронизацию, что дает нам все эти проблемы.

Спасибо.

1 Ответ

0 голосов
/ 28 марта 2011

синхронизация таблиц с нашего производственного сервера на наш тестовый сервер

Похоже, вы пытаетесь воспроизвести свою производственную среду в своей тестовой среде, верно?

В этой ситуации следует соблюдать , используя инструмент типа mysqldump для создания резервной копии всей базы данных, а затем импортируйте ее в тестовую среду. Выполняя резервное копирование и восстановление complete , вы не только гарантируете, что у вас есть хотя бы один известный метод резервного копирования, но и гарантируете, что тестовая база данных никогда не будет содержать изменений, которые инструмент синхронизации может пропустить (Для эффективной работы инструментов синхронизации обычно требуется первичный или уникальный ключ на каждой таблице.)

Процесс резервного копирования и повторного импорта должен быть простым для автоматизации. На моем рабочем месте мы каждую ночь выполняем дамп базы данных на основе mysqldump и рано утром на следующий день выполняем необязательный импорт в личную копию каждого разработчика.

...