Синхронизация двух баз данных MySQL
Что такое хороший способ синхронизации двух баз данных MySQL?
Я хотел бы синхронизировать данные в базе данных моего производственного веб-сайта с моей локальной базой данных разработки. Сейчас я просто использую интерфейс PHPMyAdmin для экспорта из одного, а затем импортирую в другой.
Это будет синхронизация, инициированная пользователем, не обязательно периодическая или автоматическая (что-то вроде синхронизации одним щелчком мыши).
4 ответа
Вот пара идей:
- Использовать репликацию: http://www.howtoforge.com/mysql_database_replication
- Используйте mysqldump в скрипте импорта / экспорта, чтобы полуавтоматизировать его
SQLyog Enterprise и Ultimate могут сделать это.
SQLyog имеет бесплатную версию, хотя, к сожалению, он не может выполнять операции синхронизации. Платные версии начинаются с $69, но доступна 30-дневная пробная версия. Для бесплатного решения репликация - ваш лучший выбор, как обрисовано в общих чертах, хотя это требует некоторой настройки.
Теперь он также имеет функцию под названием "Визуальное сравнение данных", где данные можно сравнивать и синхронизировать визуально.
Чтобы получить бесплатный и надежный одноразовый инструмент синхронизации MySQL, воспользуйтесь Percona Toolkit (ранее Maatkit):
http://www.percona.com/doc/percona-toolkit/2.1/pt-table-sync.html
Инструмент SQLJog SJA (бесплатно для Linux) может сделать это блестяще, и я использовал его уже много лет. Все, что для этого нужно - это сгенерированный XML-файл с правильными данными для входа, желаемой базой данных и таблицами. Я не мог бы обойтись без этого.