Sie können das Dienstprogramm mysqldump direkt mit Ihrer MySQL-Datenbank ausführen und dabei beliebige Optionen verwenden. Wenn Sie die Daten jedoch exportieren, um sie in eine Cloud SQL-Datenbank zu importieren, verwenden Sie das Dienstprogramm „mysqldump“ mit den folgenden Flags:
- --databasesGeben Sie eine explizite Liste der Datenbanken an, die exportiert werden sollen. Diese Liste darf keine Systemdatenbanken (- sys,- mysql,- performance_schemaund- information_schema) enthalten.
- --hex-blobEnthält die Datenbank Binärfelder, gewährleistet dieses Flag, dass die Binärfelder ordnungsgemäß importiert werden.
- --single-transactionStartet eine Transaktion vor der Ausführung. Anstatt die gesamte Datenbank zu sperren, kann mysqldump die Datenbank im aktuellen Zustand lesen und so eine konsistente Daten-Dumpdatei erzeugen.
- --routinesUm gespeicherte Prozeduren und Funktionen einzubeziehen.
- Wenn Sie - mysqldumpVersion 8 oder höher verwenden, um MySQL-Datenbanken mit einer älteren Version als 8 zu exportieren:- --column-statistics=0- Mit diesem Flag wird die Tabelle COLUMN_STATISTICS aus dem Datenbankexport entfernt, um den Fehler - Unknown table 'COLUMN_STATISTICS' in information_schema (1109)zu vermeiden. Weitere Informationen finden Sie unter Probleme diagnostizieren.
Außerdem wird empfohlen, die folgenden Flags zu verwenden:
- --no-autocommit
- --default-character-set=utf8mb4
- --master-data
Führen Sie auf einem Computer, der über eine Netzwerkverbindung mit Ihrem MySQL-Server verbunden ist, den folgenden Befehl aus:
    mysqldump \
        -h [SOURCE_ADDR] -P [SOURCE_PORT] -u [USERNAME] -p \
        --databases [DBS]  \
        --hex-blob \
        --no-autocommit \
        --default-character-set=utf8mb4 \
        --master-data=1  \
        --single-transaction \
        --routines \
        | gzip \
        | gcloud storage cp - gs://[BUCKET_NAME]/[DUMP_FILENAME].gz
Wenn die Quelle der Migration ein relationaler Datenbankdienst (RDS) für MySQL ist:
- Das Attribut master-datawird nicht unterstützt.
- Wenn der Quelldatenbankserver GTID unterstützt, verwenden Sie das Attribut --set-gtid-purged=on. Verwenden Sie andernfalls dieses Attribut nicht.
- Wenn Sie Ihre Daten mit einem manuellen Dump migrieren, führen Sie die Migration mit aktivierter GTID durch.
Der Befehl kann wie im folgenden Beispiel aussehen:
    mysqldump \
        -h [SOURCE_ADDR] -P [SOURCE_PORT] -u [USERNAME] -p \
        --databases [DBS]  \
        --hex-blob  \
        --no-autocommit \
        --default-character-set=utf8mb4 \
        --set-gtid-purged=on \
        --single-transaction \
        --routines \ 
        | gzip \
        | gcloud storage cp - gs://[BUCKET_NAME]/[DUMP_FILENAME].gz
Außerdem sollten Sie RDS-Instanzen so konfigurieren, dass binäre Logs länger aufbewahrt werden. Der Befehl kann wie im folgenden Beispiel aussehen:
    # Sets the retention period to one week.
    call mysql.rds_set_configuration('binlog retention hours', 168);
Ersetzen Sie die Attribute ([PROPERTIES_IN_BRACKETS]) durch folgende Werte:
| Attribut | Wert | 
| [SOURCE_ADDR] | Die IPv4-Adresse oder der Hostname des Quelldatenbankservers. | 
| [SOURCE_PORT] | Der Port für den Quelldatenbankserver. | 
| [USERNAME] | Das MySQL-Nutzerkonto. | 
| [DBS] | Eine durch Leerzeichen getrennte Liste der Datenbanken auf dem Quelldatenbankserver, die in den Dump aufgenommen werden sollen. Verwenden Sie den MySQL-Befehl SHOW DATABASES, um Ihre Datenbanken aufzulisten. | 
| [BUCKET_NAME] | Der Bucket in Cloud Storage, der vom Nutzer erstellt und zum Speichern der Dumpdatei verwendet wird (z. B. replica-bucket). | 
| [DUMP_FILENAME] | Der Dateiname des Dumps, der auf die Dateiendung .gzendet (z. B.source-database.sql.gz). |