it-swarm.com.de

Amazon RDS: Stellen Sie den Schnappschuss in einer vorhandenen Instanz wieder her

Ich habe eine Momentaufnahme meiner Instanz erstellt und einige unerwünschte Änderungen in der Datenbank vorgenommen.

Jetzt möchte ich meine Instanz aus diesem Snapshot wiederherstellen.

Wenn ich es versuche, erstellt es eine weitere Instanz zusätzlich zu der, die ich habe.

Ich gebe "DB Instance Identifier" an und bekomme danach zwei Instanzen mit derselben ID.

Meine Frage: Gibt es eine Möglichkeit, die Momentaufnahme einer vorhandenen Instanz wiederherzustellen?

Denn in einem anderen Fall wird eine neue Instanz mit einem anderen Endpunkt (Hostname) erstellt und ich muss meine Konfigurationsdateien ändern, um auf die Datenbank zuzugreifen. Oder gibt es einen besseren Weg, um solche Fälle zu handhaben?

42
SmxCde

Nein, Sie können Ihre vorhandene DB-Instanz weder für die manuelle Sicherung noch für die Momentaufnahme wiederherstellen.

Sie können die manuelle Sicherung oder den automatisierten Snapshot nur verwenden, wenn Sie eine neue RDS DB-Instanz erstellen. Nachdem die neue DB-Instanz erstellt wurde, können Sie den Endpunkt der DB in Ihrer App/Ihrem Code ändern und die alte DB-Instanz löschen.

Fazit: Sie müssen die Konfigurationseinstellungen in Ihrer App ändern. Keine andere Option.

41
Naveen Vijay

Wenn jemand hierher gekommen ist (genau wie ich), um Daten einfach wiederherzustellen, ohne die Konfiguration zu ändern.

Hier sind die Schritte:

  • Erstellen Sie eine neue Instanz (Temp) aus Ihren automatischen oder manuell erstellten Schnappschüssen.
  • Stellen Sie entweder über Sequel Pro oder Mysql Workbench eine Verbindung zu dieser Instanz her.
  • Nehmen Sie den SQL-Speicherauszug der Daten vor, die Sie von dieser temporären Instanz benötigen.
  • Verbinden Sie Ihre Produktionsinstanz und stellen Sie sie wieder her.
  • Löschen Sie nun die von Ihnen erstellte temporäre Instanz.
41
Katti

Benennen Sie die ursprüngliche Instanz um und benennen Sie die neue Instanz mit dem ursprünglichen Namen

https://aws.Amazon.com/blogs/aws/endpoint-renaming-for-Amazon-rds/

14
MaXimus

Ich hatte heute das gleiche Problem. Ich denke, Sie haben zwei Möglichkeiten, ohne die Konfigurationseinstellungen der Anwendung zu ändern.

  1. löschen Sie die alte Instanz wie von Mike vorgeschlagen, und stellen Sie sie dann wieder her.

  2. benennen Sie zuerst die alte Instanz um (Sie müssen die Option "Sofort anwenden" aktivieren, wenn Sie sie umbenennen.).

7
jack.chen.job

Wie @MaXimus sagte (ich kann noch keine Kommentare hinzufügen), können Sie:

  1. benennen Sie die ursprüngliche Instanz zuerst um
  2. wiederherstellen aus Momentaufnahme und Zuweisen des ursprünglichen Instanznamens

Wie in Renaming to Replace an Existing DB Instance hier angegeben: https://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html

0
cjuroz

Nachdem Sie die wiederhergestellte Datenbank mit einem neuen Namen erstellt haben, können Sie die aktuelle Instanz in ...- old umbenennen. Die DB-URL wird ebenfalls umbenannt. Nachdem die URL ebenfalls geändert wurde, müssen Sie die wiederhergestellte Datenbank in den zuvor verwendeten Namen umbenennen. Warten Sie, bis sich die URL der Datenbank ändert. Dann müssen Sie Ihre Dienste neu starten und sie stellen eine Verbindung zur wiederhergestellten Datenbank her.

Dies führt zu keinem Ausfall. 

0
Franky