Frage

Für ein bisschen fallen Reinigung, bewege ich mich 25 Tabellen zwischen MySQL-Datenbanken (verschiedene Teile der Hardware). Dies ist nicht die gesamte Datenbank, nur 25 Tabellen aus einigen hundert ... Diese Tabellen wissen nicht wirklich, gehören da drin, ich werde nicht gehen in warum für NDA Gründe.

Nun, das wird eine Menge Code und SQL-Abfragen brechen.

Was ist der beste Weg, um dies zu tun gehen?

  1. Bewegen Sie sich überall auf einmal.

  2. Bewegen Sie sie über 1 von 1

-

sie über alles auf einmal bewegen, ist irgendwie schön. Könnten einige Ausfälle und gebrochen Code sein, dass ich verpasst, aber sie als Block bewegt, ist viel schneller, weniger Zeit in Schub Code ausgegeben werden.

sie über eins nach dem anderen zu bewegen ist irgendwie schön, weniger Chancen großen Sachen brechen, aber viel mehr Zeit aufgewendet werden, um die Arbeit, redundante Arbeit micromanaging und Bereitstellung.

Ist es möglich für mich, die Tabellen für eine Weile zwischen zwei Datenbanken zu spiegeln? Eine föderierte Tabelle vielleicht?

-

Sonstige Informationen: Es gibt 25 Tische sind alle im Zusammenhang mit Inhalten miteinander.

Ich kann die Datenbanken für Stunden zu einer Zeit nicht shutdown, etwa 5 Minuten Ausfallzeit akzeptabel wäre.

-

Was ist der beste Weg, um den Code, SQL zu gehen über all diese Daten zu bewegen und zu halten, und ich gut in Form?

Könnte ich federate die Tabellen als eine Möglichkeit, um die Tabellen zu replizieren in eine neue Datenbank?

-Daniel

War es hilfreich?

Lösung

Es scheint, wie sie über einer nach dem anderen zu bewegen wäre der Weg zu gehen. Auf diese Weise haben Sie eine Reihe von einfachen kleinen Probleme anstelle eines großen harten Problem. Ich hoffe, Sie haben Ihr System unter einer Menge von automatisierten Tests dieser schlurfenden um sicherzustellen, dass alles nichts brechen.

Eine andere Sache: Sie Herunterfahren des Datenbank sprechen. Wenn Sie die Änderungen in einer Entwicklungsumgebung machen und nur machen die Veränderungen leben, wenn Sie sicher, dass alles funktioniert sind, warum würden Sie Ausfallzeiten in der Produktion haben müssen? Ich hoffe, dass Sie nicht darum, diese Änderungen in der Produktion zu denken, ohne sie zunächst in der Entwicklung zu tun.

Andere Tipps

Sie können SQLYog (mysql Frontend) verwenden, es zu tun.

Meny Option ist Elektrowerkzeuge -> Datenbank-Synchronisation Assistent

Sie müssen in der Lage sein, sowohl die Datenbank zu öffnen, remote (Host% sollte da sein)

Been there, done that, und tatsächlich in der Mitte eines ähnlichen Projektes jetzt. Mit unseren Projekten, erbten wir ein paar, dass wir nicht wissen, was sie sind oder wo alles ist, aber hier ist der allgemeine Fluss:

  • Ein neuer Server, alle entsprechenden Konten einrichten
  • Finden
  • wo sie ändern den Server und Benutzername / Passwörter bei Bedarf in der Anwendung Config
  • die Web-Anwendung herunterfahren, so gibt es keine Schreib sind während der Bewegung
  • Bewegen Sie die DB
  • rekonfigurieren die App
  • Brand es sichern
  • Wiederholen Sie für jede DB / Anwendung

Für kleine Sachen, dies dauert nur wenige Sekunden. SQLyog ist eine große Hilfe. Wenn Sie große Datenbanken haben oder entscheiden Sie keine Ausfallzeiten wollen, dann müssen Sie die Replikation berücksichtigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top