Как управлять множеством идентичных экземпляров схемы MySQL на многих машинах?

Как управлять множеством идентичных экземпляров схемы MySQL на многих машинах?

Я работаю над проектом, в котором схема базы данных MySQL используется на трех разных серверах (базы данных MySQL) в 20 копиях схемы для каждого сервера (все они идентичны по форме, но содержат разные данные). Таким образом, 60 копий одной и той же схемы распределены по трем машинам.

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

Есть ли какое-либо программное обеспечение, которое может помочь мне управлять всем из одного источника — графического интерфейса или программы командной строки?

решение1

Есть несколько вариантов, которые могут вам в этом помочь, вот некоторые из них:

  • Ансибль
  • Дженкинс
  • Рундек

Вы можете интегрировать Jenkins с веб-хуками Github, Bitbucket или Gitlab, чтобы при каждом новом коммите запускался конвейер DevOps.

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

Ура!

Связанный контент