Синхронизация 2 баз данных MySQL - PullRequest
4 голосов
/ 18 января 2011

У меня есть 2 базы данных MySql, и я хочу синхронизировать их.Проблема в том, что у меня нет доступа к машине, на которой запущена база данных master, у меня есть только права на чтение.

Итак, я создал вторичную базу данных и хочу создать задачу cron для синхронизации смастер каждый день в 12:00 (например).

Каков наилучший способ сделать это?

Ответы [ 3 ]

6 голосов
/ 24 января 2011

Используйте mk-table-sync из инструментария Maatkit для MySQL.

Из документации:

Make slave1 have the same data as its replication master:

  mk-table-sync --execute --sync-to-master slave1

Помимо возможности автоматически синхронизировать таблицы, у него есть аргумент --dry-run, который просто выведет операторы SQL, необходимые для этого вручную. Это прекрасно для того, чтобы убедить себя в том, что вы выбрали правильные аргументы командной строки для mk-table-sync и что он будет работать правильно, когда вы действительно синхронизируете таблицы.

0 голосов
/ 19 января 2011

Мое решение состояло в том, чтобы создать скрипт Python для повторного импорта всех данных. В любом случае мне нужно было изменить имена таблиц для приложения django.

0 голосов
/ 18 января 2011

Самый простой, но, возможно, тот, который потребляет больше всего ресурсов, просто сделает mysql-dump и повторно импортирует данные во вторую базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...