Verwenden Sie die Shell MySQL in der Oracle Cloud Infrastructure-Compute-Instanz, um Daten in ein HeatWave-Service-DB-System zu importieren.
Diese Aufgabe erfordert Folgendes:
- SSH-Zugriff auf eine Compute-Instanz mit Zugriff auf das MySQL-DB-System, damit Sie MySQL Shell auf der Compute-Instanz ausführen können. Siehe Networking.
- MySQL Shell 8.0.27 oder höher.
- Eine gültige Konfigurationsdatei, wenn die Dumpdateien in einem Objektspeicher-Bucket gespeichert sind. Wenn Sie die Befehlszeilenschnittstelle (CLI) im Standardverzeichnis installiert und konfiguriert haben, ist eine gültige Konfigurationsdatei vorhanden. Wenn Sie die CLI nicht installiert und konfiguriert haben, müssen Sie sie entweder installieren oder manuell eine Konfigurationsdatei erstellen. Weitere Informationen finden Sie unter SDK- und CLI-Konfigurationsdatei.
- Genug Speicherplatz für importierte Daten und ausreichend Netzwerkbandbreite für den Import.
So importieren Sie Daten in ein MySQL-DB-System:
- Führen Sie die Shell MySQL in der Oracle Cloud Infrastructure-Compute-Instanz aus.
- Wechseln Sie zum JavaScript-Eingabetyp, indem Sie
\js
eingeben und die Eingabetaste drücken.
- Führen Sie den folgenden Befehl aus, um eine globale Session zu starten, indem Sie eine Verbindung zum Endpunkt des DB-Systems herstellen:
\c <UserName>@<DBSystemEndpointIPAddress>
\c
: Gibt den Shell-Befehl zum Herstellen einer neuen Verbindung an.
<UserName>
: Gibt den Benutzernamen für das DB-System an.
<DBSystemEndpointIPAddress>
: Gibt die IP-Adresse des Endpunkts des DB-Systems an.
- Wenn Sie einen Dump importieren, der sich im lokalen Dateisystem der Oracle Cloud Infrastructure-Compute-Instanz befindet, führen Sie den folgenden Befehl aus, um Daten in das HeatWave-Service-DB-System zu importieren:
util.loadDump("<URL>", {waitDumpTimeout: <TimeinSeconds> , updateGtidSet: "append" })
util.loadDump
: Gibt den Befehl zum Importieren von Daten in das DB-System an.
<URL>
: Gibt den Pfad zu einem lokalen Verzeichnis an, das die Dumpdateien enthält. Beispiel: /home/opc/dump
.
waitDumpTimeout
: (Optional) Ermöglicht das Anwenden eines Dumps, der noch erstellt wird. Tabellen werden geladen, sobald sie verfügbar werden, und das Utility wartet auf die angegebene Anzahl von Sekunden, nachdem neue Daten nicht mehr im Dumpspeicherort ankommen. Nach Ablauf der Zeitüberschreitung bricht das Dienstprogramm den Import ab.
updateGtidSet:"append"
: (Optional) Fügt die Transaktions-IDs aus dem in den Dumpmetadaten aufgezeichneten gtid_executed
-GTID-Set des DB-Systems gtid_purged
hinzu. Dadurch wird das GTID-Set im DB-System für die Aktivierung der eingehenden Replikation aus der MySQL-Instanz konfiguriert, aus der die Dumpdateien exportiert werden.
- Wenn Sie einen Dump aus einem Oracle Cloud Infrastructure Object Storage-Bucket importieren, führen Sie den folgenden Befehl aus, um Daten in das HeatWave-Service-DB-System zu importieren:
util.loadDump("<URL>", {threads: <Number>, osBucketName: "<MDSBucket>", waitDumpTimeout: <TimeinSeconds> , updateGtidSet: "append" })
util.loadDump
: Gibt den Befehl zum Importieren von Daten in das DB-System an.
<URL>
: Gibt das Pfadpräfix an, das die Dumpdateien im Bucket haben, der beim Erstellen des Dumps mit dem Parameter outputUrl
zugewiesen wurde.
threads
: (Optional) Gibt die Anzahl der parallelen Threads an, die zum Hochladen von Datenblöcken in das DB-System verwendet werden sollen. Der Standardwert ist 4.
osBucketName
: Gibt den Namen des Object Storage-Buckets an.
waitDumpTimeout
: (Optional) Ermöglicht das Anwenden eines Dumps, der noch erstellt wird. Tabellen werden geladen, sobald sie verfügbar werden, und das Utility wartet auf die angegebene Anzahl von Sekunden, nachdem neue Daten nicht mehr im Dumpspeicherort ankommen. Nach Ablauf der Zeitüberschreitung bricht das Dienstprogramm den Import ab.
updateGtidSet:"append"
: (Optional) Fügt die Transaktions-IDs aus dem in den Dumpmetadaten aufgezeichneten gtid_executed
-GTID-Set des DB-Systems gtid_purged
hinzu. Dadurch wird das GTID-Set im DB-System für die Aktivierung der eingehenden Replikation aus der MySQL-Instanz konfiguriert, aus der die Dumpdateien exportiert werden.
- (Optional) Wenn Sie die Option
updateGtidSet:"append"
im Befehl util.loadDump
nicht angegeben haben, können Sie Folgendes ausführen, um das GTID-Set gtid_purged
des DB-Systems zu aktualisieren:
- Rufen Sie den Wert von
gtid_executed
aus der Dumpdatei @.json
ab.
- Stellen Sie eine Verbindung zum DB-System her, und fügen Sie das GTID-Set mit dem folgenden Befehl in
gtid_purged
ein:CALL sys.SET_GTID_PURGED("+<gtidSet>")
Mit diesem Befehl wird eine Stored Procedure im DB-System ausgeführt, um den Systemvariablenwert zu ändern.
<gtidSet>
ist der Wert aus dem Feld gtidExecuted
in der Dumpdatei @.json
.
- Das
+
-Zeichen hängt das GTID-Set an die Systemvariable gtid_purged
des DB-Systems an.
Die Daten werden in das DB-System importiert.