
Anleitungen im Zusammenhang mit Beach
Wie man einen Datenbank-Dump herunter- und hochlädt
Exportiere eine Datenbank, importiere vorhandene Daten oder klone eine Datenbank von einer Instanz zu einer anderen, indem du die Kommandozeile benutzt.
Übersicht
Dieser Leitfaden zeigt dir, wie du die Datenbank einer Beach Instanz in eine Datei exportierst, einen bestehenden MariaDB- oder MySQL-Datenbank-Dump in eine Beach Instanz importierst und wie du auf einfache Weise die Datenbank einer ganzen Instanz in eine andere Instanz klonst.
Du brauchst SSH-Zugang zu der jeweiligen Instanz, von der du exportieren oder in die du importieren möchtest. Ein MariaDB-Client oder eine andere Software ist auf deinem lokalen Rechner nicht erforderlich.
Exportieren einer Instanzdatenbank
Verbinde dich mit deiner Instanz über SSH, zum Beispiel mit dem SSH-Befehl, der in den Verbindungsdetails der Instanz angezeigt wird. Die Shell ist mit dem Benutzernamen, dem Passwort und dem Host der Instance-Datenbank (in my.cnf) vorkonfiguriert und der Datenbankname ist über eine Umgebungsvariable verfügbar.
Daher musst du nur den folgenden Befehl ausführen:
mysqldump ${BEACH_DATABASE_NAME} > database.sql
Du hast jetzt einen Datenbank-Dump in der Datei database.sql. Du kannst diese Datei mit scp herunterladen oder indem du sie in den öffentlichen Webordner verschiebst und über einen Webbrowser herunterlädst (sei vorsichtig, wähle einen anderen Namen für die Datei und lösche sie direkt nach dem Download).
Tipp: Du kannst den Befehl bat (anstelle von cat oder less) verwenden, um die database.sql in deinem Terminal anzuzeigen. Bat macht das Anzeigen dieser Dateien einfacher, da es Syntaxhervorhebung und einige andere praktische Funktionen bietet.
Importieren einer Instanzdatenbank
Du kannst Daten aus einem bestehenden Datenbank-Dump aus einer .sql-Datei importieren. Es gibt zwei einfache Möglichkeiten, eine solche Datei in deine Instanz hochzuladen:
- benutze scp oder einen SSH-Client, um dich mit deiner Instanz zu verbinden und die Datei hochzuladen
- melde dich über SSH bei deiner Instanz an und lade die Datei mit wget oder curl von einer öffentlichen URL herunter
Sobald du die Datenbank-Dump-Datei in deiner Instanz hast, kannst du sie mit dem mysql-Client importieren. Benutzername, Passwort, Host und Datenbankname sind für deine Instance-Shell vorkonfiguriert:
mysql < database.sql
Abhängig von deinem Datenbank-Dump (z.B. wenn er DROP TABLE-Anweisungen enthält), musst du die bestehende Datenbank leeren, bevor du neue Daten importieren kannst. Sei auf jeden Fall vorsichtig und erstelle im Zweifelsfall besser ein Backup, bevor du fortfährst.
Kopieren einer Datenbank von einer Instanz zu einer anderen
Du kannst einen Datenbank-Dump auch direkt in eine andere Datenbank pipen und so den Schritt des Erstellens einer Datei, des Herunterladens und Hochladens überspringen.
Dazu musst du die folgenden Daten der Zielinstanz nachschlagen:
- hostname des Datenbankservers
- datenbankname
- datenbank-Benutzername
- datenbank-Passwort
Wie im Abschnitt "Importieren einer Instanzdatenbank" erwähnt, musst du die Zieldatenbank vorbereiten, indem du vorhandene Daten entfernst.
Wenn du bereit bist, melde dich über SSH bei deiner Quellinstanz an und führe den folgenden Befehl aus:
mysqldump ${BEACH_DATABASE_NAME} | mysql --host=database-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --user=xx-target-username-xx --password=xx-target-database-password-xx xx-target-database-name-xx