it-swarm.com.de

So verwenden Sie MySQL-Dump von einem Remote-Computer

Wie kann ich eine MySQL-Datenbank sichern, die auf einem Remote-Server läuft, muss ich die Sicherungsdatei im lokalen PC speichern.

64
Harsha

Versuchen Sie es mit Mysqldump

#mysqldump --Host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql
70
CloudyMarble

Hast du Zugang zu SSH?

Sie können diesen Befehl in Shell verwenden, um eine gesamte Datenbank zu sichern:

mysqldump -u [username] -p[password] [databasename] > [filename.sql]

Dies ist eigentlich ein Befehl, gefolgt von dem >-Operator, der sagt: "Nehmen Sie die Ausgabe des vorherigen Befehls und speichern Sie sie in dieser Datei."

Hinweis: Das Fehlen eines Leerzeichens zwischen -p und dem MySQL-Kennwort ist kein Tippfehler. Wenn Sie jedoch das Flag -p vorhanden lassen, das tatsächliche Kennwort jedoch leer ist, werden Sie zur Eingabe Ihres Kennworts aufgefordert. Manchmal wird dies empfohlen, um Passwörter aus dem Bash-Verlauf herauszuhalten.

50
Ian Jamieson

Niemand erwähnt etwas über die Option-single-transaction . Benutzer sollten es standardmäßig für InnoDB-Tabellen verwenden, um die Datenkonsistenz sicherzustellen. In diesem Fall:

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql]

Dadurch wird sichergestellt, dass der Speicherauszug in einer einzigen Transaktion ausgeführt wird, die von den anderen Transaktionen isoliert ist. Dadurch wird die Sicherung einer Teiltransaktion verhindert. 

Stellen Sie sich beispielsweise vor, Sie verfügen über einen Spieleserver, auf dem Sie mit Ihrem Konto Guthaben kaufen können. Es gibt im Wesentlichen zwei Operationen für die Datenbank:

  1. Ziehen Sie den Betrag von den Gutschriften ab
  2. Füge die Ausrüstung zu ihrem Arsenal hinzu

Wenn der Speicherauszug zwischen diesen Vorgängen stattfindet, würde der Benutzer beim nächsten Wiederherstellen der Sicherung den gekauften Artikel verlieren, da der zweite Vorgang nicht in der SQL-Speicherauszugsdatei gesichert wird.

Obwohl es sich nur um eine option handelt, gibt es im Grunde keinen großen Grund, warum Sie diese Option nicht mit mysqldump verwenden.

35
datasn.io

Dieses Thema wird auf der ersten Seite meines Google-Ergebnisses angezeigt. Hier ist ein kleiner nützlicher Tipp für Neulinge.

Sie könnten auch die SQL ausgeben und in einer Zeile gzip:

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz]
20
Unnawut
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql]
2
user3567805

Versuchte alle Kombinationen hier, aber das hat für mich funktioniert: 

mysqldump -u root -p --default-character-set=utf8mb4 [DATABASE TO BE COPIED NAME] > [NEW DATABASE NAME]
0
jsibs