MySQL-Dump-Remote-Datenbank
- Was ist MySQL-Dump
- Unterschiedliche Syntax von MySQL Dump
- MySQL-Dump vom Remote-Server auf den lokalen Computer
Dieser Artikel stellt vor, wie man eine entfernte MySQL-Datenbank sichert.
Was ist MySQL-Dump
MySQL-Dump ist der Vorgang des Sicherns der SQL-Datenbanken und des MySQL-Datenbankpakets auf einem anderen Server. Der Prozess geschieht im Allgemeinen, um eine Sicherungskopie der Aufzeichnungen von einem Ort zu seinen Repliken zu führen.
Oft ist dieser Prozess geplant und wird rechtzeitig wiederholt. MySQL stellt Benutzern das Dienstprogramm mysqldump
zur Verfügung, um die Datenbanken mit Berechtigungen neu zu erstellen.
Das Dienstprogramm erstellt im System eine Flatfile mit allen SQL-Anweisungen, um das Schema neu zu generieren.
Der Server, auf dem sich der Dump befindet, muss nicht unbedingt der MySQL-Server sein. Das DumpFile
ist die Datei, die alle Datenbanken und Schemas verfolgt.
Mit Hilfe der Sicherungsdatei kann das Datenbankschema auf einer anderen Instanz oder dem Server neu erstellt werden. Die Datei enthält den Satz von SQL-Anweisungen wie Erstellen
und Einfügen
, die die ähnliche Schemahierarchie (Datenbank->Tabelle->Ansichten->Funktionen->Datensätze) an anderer Stelle neu auffüllen.
Der Vorgang des Dumping dauert im Allgemeinen 30 Minuten oder länger, je nach Größe der Datenbank.
Die Voraussetzungen für den MySQL-Dump sind:
- Es müssen alle Zugriffsrechte auf die Datenbank, Funktionen, Ansichten und Auslöser für die Verwendung des Dienstprogramms vorhanden sein.
- Die ausgegebene Datei sollte Berechtigungen zum Erstellen, Ändern und Einfügen haben, da sie neue Schemas neu erstellt und Operationen an ihnen ändern und einfügen müsste.
Unterschiedliche Syntax von MySQL Dump
Die Syntax von MySQL-Dump für alle Datenbanken:
mysqldump [options] --databases database_name ... > backupFileName.sql
Die Syntax von MySQL-Dump für Tabellen:
mysqldump [options] database_name [table_name ...] > backupFileName.sql
Die Syntax des MySQL-Dumps für die MySQL-Workbench:
mysqldump [options] --all-databases > backupFileName.sql
Die obige Syntax bildet einen Dump der Datenbank, Tabelle und aller Datenbanken. Die Erklärung seiner Argumente ist unten.
- Das Schlüsselwort
mysqldump
muss immer am Anfang stehen. Es zeigt an, dass die MySQL-Anweisung einen Dump erstellen soll. Es zeigt an, dass ein SQL-Dump erstellt werden muss. - Die Optionen, gefolgt vom Schlüsselwort, sind nicht obligatorische Attribute, die angeben, dass der Benutzer Optionen nach Bedarf hinzufügen/entfernen kann. Beispiele für Optionen sind:
2.1 Der Befehl-u root -p
hat Optionen als Bindestrichu
und Bindestrichp
, um die Benutzernamen- und Passwortattribute in der Optionsliste anzugeben.root
ist der in MySQL festgelegte Benutzername, und das Passwort ist die Wahl des Benutzers. - Mit dem Schlüsselwort
--databases
kann der Benutzer den Namen der Datenbank angeben, die gesichert werden soll, gefolgt vom Datenbanknamen. - Geben Sie für den Speicherauszug von Tabellen den Datenbanknamen gefolgt vom Tabellennamen mit der gleichen oben angegebenen Syntax an.
- Um die Sicherung aller Datenbanken innerhalb der Workbench zu erstellen, übergeben Sie direkt
--all-databases
ohne einen bestimmten Datenbanknamen in der Datei. - Das Symbol
>
gibt an, dass die Ausgabe des ersten Abschnitts an die nach dem Operator bereitgestellte Datei übergeben werden muss. backupfileName.sql
ist der Dateiname, in dem der gesamte Dump aufbewahrt werden soll. Der Dateiname ist ein relativer Pfad und nicht der absolute Pfad der Datei, wodurch die Sicherungsdatei im bin-Ordner der MySQL-Entwickler-Workbench erstellt wird.
MySQL-Dump vom Remote-Server auf den lokalen Computer
Der Befehl für den MySQL-Dump vom Remote-Server auf den lokalen Computer ist unten.
Die Abfrage funktioniert, wenn kein MYSQLdump
auf dem entfernten Server installiert ist. In diesem Szenario muss ein Tunnel vom lokalen Computer zum Remote-Server erstellt und dann die Daten auf dem lokalen Computer ausgegeben werden.
Die LINUX-Umgebung ist die Voraussetzung für den ssh-gesicherten Tunnel. Der Befehl ssh
funktioniert auf demselben.
Der Befehl zum Erstellen eines SSH-Tunnels lautet wie folgt.
ssh -f -L3310:localhost:3306 user@remote.server -N
Das Schlüsselwort ssh
ermöglicht es dem System, eine sichere verschlüsselte Verbindung mit dem Remote-Server herzustellen. Mit diesem Befehl kann ein Benutzer eine gesicherte Verbindung mit jedem Remote-Computer herstellen, der die Serverdetails kennt.
Mit dem Befehl ssh
stehen verschiedene Optionen zur Verfügung.
-
Die Option
-f
ermöglicht es dem Prozess, vor der eigentlichen Ausführung des Prozesses in den Hintergrund zu gehen. -
Die Option
-L
gibt an, dass der Port des lokalen oder Client-Rechners an den Remote-Host- und Server-Rechner-Port weitergeleitet wird.In der obigen Abfrage ist Port
3310
der Remote-Host-Port, an dem der Prozess gestartet wird. Port3306
ist der Port des Localhost-Servers. -
Die Option
-N
wird verwendet, um die Ports sicher weiterzuleiten. Der Befehl besteht darin, einen Tunnel zwischen lokalen und Remote-Servern zu erstellen.
mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name
Das Schlüsselwort mysqldump
weist den Host-Rechner an, einen Datenbank-Dump zu erstellen. Der Dump wird gebildet, sobald eine gesicherte Verbindung hergestellt ist.
- Die Option
-P
gibt den Port an, an dem die Gegenstelle die Verbindung aufbaut. Im obigen Fall ist der Port3310
. - Die Option
-h
gibt den Hostnamen des Remote-Servers an. Hier wird die Verbindung im Tunnelverfahren hergestellt. - Die Option
-u
gibt an, dass das nächste Argument der Benutzername ist, der dabei hilft, eine gesicherte Verbindung zum Remote-Server herzustellen. - Die Option
-p
gibt das Passwort an, das beim Verbinden mit dem Remote-Server verwendet werden soll.
Der in der obigen Anweisung angegebene Datenbank- und Tabellenname gibt den Tabellennamen an, der vom Remote-Server auf dem lokalen Computer gespeichert werden soll.
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn