Синхронизируйте схему MySQL между компьютерами

#mysql

#mysql

Вопрос:

При разработке я могу использовать SVN или Git для синхронизации кода между компьютерами. Однако мне не удалось найти что-то подобное для MySQL. Кто-нибудь знает что-нибудь?

Обновление: я пытаюсь внести изменения в схему на разных машинах. Было бы здорово также синхронизировать данные, но на данный момент это не так важно.

Комментарии:

1. Как синхронизировать несколько копий базы данных (по одной копии на компьютер)? С какой целью?

2. Что для вас важнее: схема таблицы или данные?

3. Вместо того, чтобы постоянно экспортировать / импортировать базу данных между компьютерами каждый раз, когда она обновляется во время разработки, было бы неплохо, если бы их можно было синхронизировать. Схема — это все, о чем я беспокоюсь; получение данных для синхронизации также было бы бонусом.

Ответ №1:

Данные не считаются частью вашего «источника приложения». Схему (т.Е. определение таблиц, индексов и т.д.) Следует рассматривать как часть вашего исходного кода, хотя многие люди не беспокоятся, когда дело доходит до MySQL.

Если вам нужно синхронизировать данные, вам следует рассмотреть сценарии репликации.

Смотрите это о репликации для MySQL

Ответ №2:

Ответ №3:

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

Возможно, вы даже сможете сделать это с помощью git-хука, чтобы он автоматически выгружал ее и фиксировал перед отправкой.

Комментарии:

1. Это было бы неплохо.. есть ли способ заставить ее автоматически обновлять прием / извлечение?

Ответ №4:

Репликация MySQL — это правильный путь здесь.

Следите за данными с обеих сторон репликации, поскольку MySQL не предлагает синхронную репликацию (пока).

Существует комплексный набор инструментов для мониторинга вашей репликации (и не только) под названием Maatkit. Это позволяет вам сравнивать контрольные суммы ваших данных и синхронизировать, если есть расхождения.

Ответ №5:

https://github.com/reduardo7/db-version-updater

Скрипт для обновления версии модели базы данных, используя простой скрипт Linux.

Этот скрипт создает вспомогательную таблицу базы данных для регистрации выполняемых сценариев и предотвращения выполнения любого выполняемого сценария.

https://github.com/reduardo7/db-version-updater-mysql

Обновляйте версию модели базы данных, используя скрипт MySQL.

С помощью этого скрипта вы можете сохранить версию модели базы данных, не нуждаясь в другом инструменте, кроме консоли MySQL.

Это самый простой способ выполнить эту столь распространенную задачу без необходимости использования других дополнительных инструментов.

Для работы создает вспомогательную таблицу базы данных (database_version) для регистрации выполняемых скриптов и предотвращения выполнения любого выполняемого скрипта.