2011-01-18 4 views
4

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

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

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

+0

можете ли вы _get_ получить права на работу с репликацией MySQL? – Alnitak

+0

nop ... все, что у меня получилось ... – void

ответ

0

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

+0

У меня нет доступа к машине, на которой запущена основная база данных ... – void

+0

mysqldump: получена ошибка: 1044: доступ запрещен для пользователя '@'% 'to база данных базы данных при выполнении LOCK TABLES – void

+0

Ну да ... Я думаю, вы застряли там. – BastiBen

0

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

6

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

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

Make slave1 have the same data as its replication master: 

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

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

+0

Любая идея о том, как установить это в OSX? – Kostas

+0

Скачайте и извлеките архив. Посмотрите в файле README для инструкций по установке. Вам также понадобится запустить следующее, чтобы установить драйвер Perl MySQL перед установкой Maatkit: sudo perl -MCPAN -e «установить DBD :: mysql». Я отправил в свой блог чуть больше года назад дополнительную проблему, чтобы следить за ней, то есть 32-битную или 64-разрядную версию Perl на Snow Leopard. http://www.wombatnation.com/2009/11/maatkit-install-on-os-x-snow-leopard –

Смежные вопросы