Wie verwalte ich viele identische Instanzen eines MySQL-Schemas auf mehreren Rechnern?

Wie verwalte ich viele identische Instanzen eines MySQL-Schemas auf mehreren Rechnern?

Ich arbeite an einem Projekt mit einem MySQL-Datenbankschema, das auf drei verschiedenen Servern (MySQL-Datenbanken) verwendet wird, und zwar in 20 Kopien des Schemas für jeden Server (die alle eine identische Form haben, aber unterschiedliche Daten enthalten) … also 60 Kopien desselben Schemas, verteilt auf drei Maschinen.

Diese Maschinen melden ihre Ergebnisse an eine Host-Maschine zurück. Das Problem, auf das ich stoße, ist die Verwaltung aller Schemaänderungen, während alles bereitgestellt wird. Jedes Mal, wenn ich eine Spalte hinzufügen oder entfernen möchte, muss ich die Abfrage 20 Mal replizieren und sie dann auf drei Maschinen kopieren. Gibt es eine Software, mit der ich alle diese identischen (im Schema, nicht offensichtlich im Dateninhalt) Datenbankinstanzen verwalten kann?? Ich möchte eine Software finden, die alle Instanzen der Datenbank durchsucht und mir alle Schemaänderungen zwischen ihnen anzeigt (sowie die Tabellengrößen der einzelnen Instanzen).

Gibt es Software, mit der ich alles über eine einzige GUI oder ein Befehlszeilenprogramm verwalten kann?

Antwort1

Es gibt einige Optionen, die Ihnen dabei helfen können. Einige davon sind:

  • Ansible
  • Jenkins
  • Rundeck

Sie können Jenkins mit Github-, Bitbucket- oder Gitlab-Webhooks integrieren, sodass bei jedem neuen Commit eine DevOps-Pipeline gestartet wird.

Wenn Sie ein Framework wie Rails verwenden, können Sie mit dieser Software auch Migrationen und Seeder davon ausführen. Dies ist auch eine Möglichkeit, die Versionskontrolle für Ihr Datenbankschema beizubehalten.

Tschüss!

verwandte Informationen