Wie erstelle ich eine lokale Sicherung einer entfernten Amazon RDS MySQL-Datenbank?

11

Wie erstelle ich eine lokale Sicherung einer entfernten Amazon RDS MySQL-Datenbank? Was ich wissen muss, ist, wie man eine vollständige lokale Sicherung einer MySQL-Datenbank (kein Remote-Amazon-Snapshot) erstellt, mit der überall auf einem beliebigen MySQL-Server eine neue Datenbank wiederhergestellt werden kann (natürlich dieselbe Version).

HINWEIS: Ich kann Daten aus einer Flatfile über MySQL importieren. So verbinde ich mich:

mysql -h mydb.xxxxx.us-east-1.rds.amazonaws.com -u myuser -P 3306 -p

So lade ich eine einzelne Datenbanktabelle:

mysql> LOAD DATA LOCAL INFILE 'C:/Temp/t1.tab' INTO TABLE t1 LINES TERMINATED BY '\r\n';
Djangofan
quelle
Ist es möglich, einen der in AWS gespeicherten Snapshots auf meinen lokalen Computer herunterzuladen? Ich würde es vorziehen, keine direkte Verbindung zu meiner Datenbank herzustellen, um diese Backups zu erhalten.
Modulitos

Antworten:

8

mysqldump --databases mydb -h xxxxx.us-east-1.rds.amazonaws.com -u myuser -P 3306 -p > rds.sql

nlo
quelle
Die Antwort stellte sich heraus als: mysqldump --Datenbanken myDB -v -h mydbInst.xxxxxx.us-east-1.rds.amazonaws.com -u myuser -P 3306 -p> rdsmyDB.sql
djangofan
2
Dies schlägt selbst bei mittelgroßen Datenbanken fehl. Die RDS-Instanz läuft ab und trennt die Verbindung, was mysqldump leider als "Download abgeschlossen" interpretiert. Ich kann nur ungefähr 30 MB meiner 175 MB-Datenbank herunterladen, bevor mysqldump fehlschlägt.
Cerin
Hallo, ich versuche dies zu verwenden, um ein Remote-Bakup von MySQL in aws zu erstellen. Ich erhalte den Fehlerzugriff verweigert, auch wenn die Anmeldeinformationen korrekt sind. Liegt dies an der Sicherheit von aws ssh? Ich habe versucht, von Windows und lokalen Jenkins Server beide mit dem gleichen Fehler
Utsav Gupta
1
der gleiche Befehl, den ich bekomme Erhaltener Fehler: 1045: Zugriff für Benutzer 'root' mit Root-Benutzer
verweigert
1
@modulitos Sie müssen eine Instanz aus einem Snapshot erstellen und dann diese Instanz mysqldump
Raisen
1

mysqldump sollte mit --single-transaction verwendet werden, wenn Sie InnoDB verwenden. Wir führen unsere Backups mit einer AWS-Mikroinstanz durch und übertragen / archivieren diese dann vor Ort. Das ist auch so konfiguriert, dass ein Jenkins-Slave ausgeführt wird, und all dies wird über einen zentralen Jenkins-Server verwaltet, den wir vor Ort ausführen.

user1819998
quelle