Ich habe mysql auf einer ec2-Instanz ausgeführt und Tableau verwendet diese Datenbank. mysqldump läuft von Produktionsservern alle 4 Stunden, während denen das System wegen des Speicherauszugs wahrscheinlich für 10-15 Minuten ausgefallen ist. Ich plane, eine andere ec2-Instanz zu haben, mit mysql läuft und und elb oben auf diesen zwei Instanzen, so dass das System nicht durch den Dump sein wird. Dazu muss ich möglicherweise die Instanzen während des Speicherauszugs von elb abmelden und sie nach dem Speicherauszug registrieren. Ist das der richtige Weg, dies in solchen Situationen zu tun?AWS-Architekturhilfe zum Ausführen von Datenbankabbildern
Antwort
Sie können keine ELB mit MySQL-Servern verwenden. Der ELB würde nicht wissen, welcher Server Master und welcher Slave war, so dass er nicht wissen würde, an welches Update er senden soll.
Gibt es einen Grund, warum Sie den RDS-Dienst von Amazon nicht für Ihre Datenbankserver verwenden? Es bietet automatisierte Snapshots, die keine Ausfallzeiten verursachen. Es macht es auch einfach, ein read-replica zu erstellen, mit dem Sie mysqldumps ausführen können, ohne den Hauptserver zu beeinflussen.
AMAZON RDS kostet ein wenig mehr, und das ist der Grund, warum wir nicht RDS verwenden möchten – upagna
Derzeit führen Sie alle 4 Stunden logische Sicherungen Ihres Systems durch. Logische Backups sollten in den meisten Fällen nur im schlimmsten Fall verwendet werden. Im Falle einer Wiederherstellung sind logische Sicherungen im Vergleich zu Alternativen wie Snapshots und binären Sicherungen sehr langsam. Wenn Snapshots mit Amazon RDS oder einer anderen Vielzahl von Alternativen in Ihrer Umgebung keine Option sind, würde ich nach Xtrabackup suchen. Dies ist ein kostenloses, eigenständiges HOT-Online-Binary-Backup-Tool, das mit einer Vanilla-Installation von MySQL verwendet werden kann. Dies sollte Ihren Produktionsserver nicht zum Absturz bringen, vorausgesetzt, Sie verwenden InnoDB und keine alternative Speicher-Engine wie MyISAM. Ich habe es persönlich für heiße Online-Binär-Backups verwendet und das Erstellen von Slaves in meiner früheren Arbeitsumgebung automatisiert. Ein binärer Backup-Engpass ist Ihre Netzwerkgeschwindigkeit in Bezug auf den Wiederherstellungsprozess und ist exponentiell schneller als eine logische Sicherung. Wenn Sie eine andere MySQL-Instanz einrichten, ist Ihre einzige Option, in die GTID-Replikation und/oder die Master-Passive HA-Umgebung zu schauen, um die mysqldump vom sekundären nicht aktiven Produktionsserver zu entfernen, so dass Ihre Produktionsumgebung nicht untergeht .
Die Quintessenz ist, dass Sie nicht Produktion alle vier Stunden eine logische Sicherung durchführen sollten. Dies ist in keiner Produktionsumgebung ideal.
Werfen Sie einen Blick auf den Amazon Database Migration Service (https://aws.amazon.com/dms/). Damit können Sie Datenbankmigrationen ohne Ausfallzeiten oder einfach nur die Synchronisierung durchführen.
- 1. HTML-Formular-Schaltfläche zum Ausführen von PHP zum Ausführen von Python-Skript
- 2. Postback zum Server Ausführen von verschiedenen Abfragen
- 3. PHP - Speichern von Funktionen zum späteren Ausführen
- 4. Große Matrix zum Ausführen von glmnet()
- 5. Ansible Playbook zum Ausführen von Shell-Befehlen
- 6. ASP-Code zum Ausführen von Stored Proc
- 7. Tool zum Ausführen von JPQL-Abfragen?
- 8. Android-Befehl zum Ausführen von dmtracedump
- 9. .htaccess zum Ausführen anderer Version von Python
- 10. Terminal-Befehl zum Ausführen von Tests GNU
- 11. Shell-Skript zum Ausführen von SQL-Abfrage
- 12. Verwenden von Pstimer zum Ausführen eines Ereignisses
- 13. Partitionieren von Listen zum Ausführen paralleler Tasks
- 14. Verwenden von VBA zum Ausführen eines vlookup
- 15. Verwenden von Python zum Ausführen anderer Programme
- 16. eingebetteter Webserver zum Ausführen von PHP
- 17. Zeitplan Crontab zum Ausführen von PHP-Skript
- 18. Algorithmus zum optimalen Auswählen von Aktionen zum Ausführen einer Task
- 19. Eine Foreach zum Ausführen einmal
- 20. Verwenden von Android Gradle + Dolch zum Ausführen von InstrumentTests
- 21. Verwenden von Supervisord und Rvm zum Ausführen von Rubyonrails
- 22. Verwenden von HttpGet zum Ausführen von Befehl auf einem Webserver
- 23. Verwenden von Gradle (build.gradle) zum Ausführen von ANT build.xml Datei
- 24. Ausführen von PowerShell-Skripten von C# gegenüber System.IO.File.Move zum Umbenennen
- 25. Konfigurieren von IIS 6.0 zum Ausführen von cgi (.exe)
- 26. Erstellen von Visual Studio-Symbolleistenbefehlen zum Ausführen von Stapeldateien
- 27. Verwenden von Excel VBA zum Ausführen von SQL-Abfrage
- 28. Verwenden von "konsole" Befehl zum Ausführen von Python-Skript
- 29. Verwendung von Java ProcessBuilder zum Ausführen von ./Dateiname in Linux
- 30. Verwendung von Web-Sockets zum Ausführen von JavaScript-Akzeptiertests
Bitte erläutern Sie, wie die beabsichtigte Verbindung aussieht. – mootmoot
@mootmoot, ich meine, ich möchte 2 Instanzen von mysql auf verschiedenen Linux-Boxen mit einem ELB auf der Oberseite laufen lassen und Dumps auf den Servern zu verschiedenen Zeiten ausführen. Das habe ich mir gedacht. Wie Mark erwähnt hat, bin ich mir nicht sicher, ob das funktionieren würde oder nicht !!! – upagna
Wenn "mysqldump" Ihre Seite herunterzieht, tun Sie es falsch. –