So erhalten Sie einen lokalen MySQL-Dump eines bestimmten AWS RDS-Snapshots

So erhalten Sie einen lokalen MySQL-Dump eines bestimmten AWS RDS-Snapshots

Hallo, ich habe einen Linux-Bastion-Host in AWS, auf den ich per SSH zugreifen kann. Im Bastion kann ich einen mysqldumpBefehl ausführen, der eine Kopie einer RDS-Instanz erstellt. Ich möchte eine Kopie eines bestimmten RDS-Snapshots erstellen. Wenn ich den Befehl ausführe, mysqldumpwird die Kopie ordnungsgemäß erstellt, gibt aber die neuesten RDS-Daten zurück.

Der ursprüngliche Befehl, den ich ausgeführt habe (und der funktioniert), lautet ungefähr:

mysqldump -u johnDoe -p -h my-rds-endpoint.rds.amazonaws.com --single-transaction <my-db-name> > /tmp/testData.sql

Gibt es eine Möglichkeit, mit diesem Befehl bestimmte Snapshot-Daten zurückzugeben? Etwa so:

mysqldump -u johnDoe -p -h <rds-snap-shot-arn-here> --single-transaction <my-db-name> > /tmp/testData.sql

Wird hier möglicherweise entweder das arnoder das verwendet DB snapshot name?

Danke schön.

Antwort1

Gibt es eine Möglichkeit, mit demselben Befehl bestimmte Snapshot-Daten zurückzugeben?

Antwort: Nein, wenn Sie mysqldump auf dem Snapshot verwenden möchten, sollten Sie ihn zuerst als Instanz erstellen.

Sie können es auch als Instanz über CLI/API wiederherstellen und warten, bis es abgeschlossen ist. Nachdem Sie den DB-Host erhalten haben, können Sie mysqldump für diesen Snapshot verwenden. Hier ist die Referenz: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html

verwandte Informationen