Von externem Server replizieren (v1)

Auf dieser Seite wird beschrieben, wie Sie eine Konfiguration erstellen, mit der Daten von einem Quelldatenbankserver auf MySQL-Replikate repliziert werden.

Der Quellendatenbankserver kann ein beliebiger MySQL-Server sein, der alle Serveranforderungen erfüllt, einschließlich Cloud SQL-Instanzen. Instanzen, die von anderen Cloudanbietern gehostet werden, können ebenfalls als Datenquelle dienen, sofern sie die Anforderungen erfüllen, einschließlich der GTID-Unterstützung.

Weitere Informationen zu dieser Konfiguration finden Sie unter Informationen zur Replikation von einem externen Server.

Vorbereitung

Führen Sie vor dem Einrichten der Replikation von einem externen Server folgende Schritte aus:

  • Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  • Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  • Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  • Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  • Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  • Cloud SQL Admin API aktivieren.

    Aktivieren Sie die API

  • Installieren und authentifizieren Sie die gcloud CLI.
  • Prüfen Sie, ob Ihr Server die Anforderungen an den Quelldatenbankserver erfüllt.
  • Stellen Sie die erforderliche Sicherheitsstufe für die Verbindungen zwischen der primären Instanz und dem Replikat fest und beschaffen Sie die erforderlichen Zertifikatsdateien.
  • Wählen Sie die Google Cloud-Region aus, in der Sie Ihr Cloud SQL-Replikat verwenden möchten.
  • Stellen Sie die erforderlichen Informationen zu Ihrem Quelldatenbankserver zusammen:

    • Externe IPv4-Adresse und Portnummer

      MySQL verwendet standardmäßig Port 3306.

    • Nutzerkonto und Passwort der MySQL-Replikation
    • MySQL-Versionsnummer
    • Speicherort aller erforderlichen SSL/TLS-Zertifikate und -Schlüssel entsprechend der ausgewählten Sicherheitsstufe
  • Halten Sie alle erforderlichen Informationen zum Aktualisieren der Netzwerkfirewall bereit, damit der Quelldatenbankserver Verbindungen vom Cloud SQL-Replikat akzeptiert.

    Dieser Schritt muss innerhalb von 30 Minuten nach dem Erstellen des Replikats abgeschlossen sein.

  • Wenn Sie kein Projektinhaber sind, brauchen Sie die Rolle Storage Admin.

Anforderungen an den Quelldatenbankserver

Bevor Sie von einem externen Server auf ein Cloud SQL-Replikat replizieren können, muss der Quelldatenbankserver die folgenden Konfigurationsanforderungen erfüllen:

Konfigurationsverfahren

Führen Sie zum Einrichten der Replikation von einem externen Datenbankserver die folgenden Schritte aus:

  1. Cloud Storage-Bucket für Ihre Daten erstellen
  2. Daten in Cloud Storage exportieren
  3. Replikationskonfiguration erstellen
  4. Quelldatenbankserver so konfigurieren, dass Verbindungen vom Replikat akzeptiert werden

  5. Zugriff auf das Nutzerkonto für die MySQL-Replikation beschränken

  6. Konfiguration der Replikation abschließen

  7. Replikationsstatus prüfen

  8. Speicher bereinigen

1. Cloud Storage-Bucket für Ihre Daten erstellen

Erstellen Sie einen Bucket, in dem Sie Ihre Daten während des Exportvorgangs vorübergehend speichern, oder verwenden Sie einen vorhandenen Bucket.

Weitere Informationen zum Erstellen eines Buckets finden Sie unter Speicher-Buckets erstellen. Weitere Informationen zur Rolle "Storage-Administrator" finden Sie unter Cloud IAM-Rollen für Cloud Storage.

2. Daten nach Cloud Storage exportieren

Kopieren Sie die Daten vom Server in Cloud Storage, da die Daten für das Replikat aus Cloud Storage abgerufen werden. Sie können nach dem Export weiterhin Schreibvorgänge auf dem Server akzeptieren. Nach dem Import der Dumpdatei in das Replikat werden alle Änderungen seit dem Export verarbeitet, bis das Replikat den Stand der primären Instanz hat.

Führen Sie auf einem Rechner, auf dem die gcloud CLI installiert ist und der über das Netzwerk mit Ihrem MySQL-Server verbunden ist, folgenden Befehl aus:

mysqldump \
    -h [PRIMARY_INSTANCE_IP] -P [PRIMARY_INSTANCE_PORT] -u [USERNAME] -p \
    --databases [DBS]  \
    --hex-blob  --skip-triggers  --master-data=1  \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gsutil cp - gs://[BUCKET]/[PATH_TO_DUMP]

If the source of the migration is a Relational Database Service (RDS) for MySQL,
the master-data flag is not supported and should not be specified.
This command might look like the following example:

mysqldump \
    -h [PRIMARY_INSTANCE_IP] -P [PRIMARY_INSTANCE_PORT] -u [USERNAME] -p \
    --databases [DBS]  \
    --hex-blob  --skip-triggers \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gsutil cp - gs://[BUCKET]/[PATH_TO_DUMP]

Additionally, you should configure RDS instances to retain binlogs for a
a longer period of time.
This command might look like the following example:

// Sets the retention period to one day.
call mysql.rds_set_configuration('binlog retention hours', 24);

Ersetzen Sie die Attribute ([PROPERTIES_IN_BRACKETS]) durch folgende Werte:

Attribut Wert
[PRIMARY_INSTANCE_IP] Die IPv4-Adresse des Quelldatenbankservers.
[PRIMARY_INSTANCE_PORT] Der Port für den Quelldatenbankserver.
[USERNAME] Das Nutzerkonto für die MySQL-Replikation.
[PASSWORD] Das Passwort des Nutzerkontos für die MySQL-Replikation.
[DBS] Durch Leerzeichen getrennte Liste aller Datenbanken auf dem Quelldatenbankserver mit Ausnahme der Systemdatenbanken (sys, mysql, performance_schema und information_schema). Verwenden Sie den MySQL-Befehl SHOW DATABASES, um Ihre Datenbanken aufzulisten.
[BUCKET] Der Name des Buckets, den Sie zum Speichern der Exportdatei erstellt haben.
[PATH_TO_DUMP] Der Pfad zur Exportdatei.

Es ist normal, dass Sie möglicherweise eine Warnung über unvollständige Speicherungen und GTIDs erhalten.

Der Befehl kann wie im folgenden Beispiel aussehen:

mysqldump \
    -h 192.0.2.1 -P 3306 -u replicationUser \
    --databases guestbook  \
    --hex-blob  --skip-triggers  --master-data=1  \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gsutil cp - gs://export-bucket/hq-primary1.sql.gz

3. Replikationskonfiguration erstellen

Wenn das Replikat private IP-Adressen verwendet, muss der Quelldatenbankserver für den Zugriff über die VPC des Replikats konfiguriert werden. Das Erstellen von Replikaten auf privaten VPCs wird nur über gcloud CLI und die Cloud SQL Admin API unterstützt.

Console

Mit diesem Schritt werden das Cloud SQL-Replikat und die Quelldarstellungsinstanz erstellt.

  1. Öffnen Sie in der Google Cloud Console die Cloud SQL-Instanzliste.

    Liste der Instanzen öffnen

  2. Klicken Sie in der Symbolleiste auf Daten migrieren, um den Cloud SQL-Migrationsassistenten aufzurufen.

  3. Klicken Sie auf Migration starten.

  4. Geben Sie im Feld Name der Quelldatenbank einen Namen für die Replikationskonfiguration in Cloud SQL an.

    Dieser Name dient als Referenz für die Konfiguration. Verwenden Sie dafür einen gültigen Cloud SQL-Instanznamen.

  5. Geben Sie die IP-Adresse und die Portnummer des Quelldatenbankservers ein.

  6. Geben Sie den Nutzernamen und das Passwort des für die Replikationsverbindung verwendeten MySQL-Nutzerkontos an.

  7. Wählen Sie die MySQL-Version des Quelldatenbankservers aus.

  8. Wählen Sie, wenn Sie für die Verbindung zwischen dem Replikat und dem Quelldatenbankserver SSL/TLS verwenden (empfohlen), SSL/TLS-Sicherheit aktivieren aus und geben die SSL/TLS-Zertifikatinformationen des Quellservers an.

    Weitere Informationen zu den SSL/TLS-Optionen finden Sie unter SSL/TLS-Optionen.

  9. Klicken Sie auf Weiter und geben Sie die Replikatdetails ein.

    Legen Sie für einen möglichst effizienten Importvorgang ausreichend Speicherplatz für das Replikat fest, damit die gesamte Datenbank darin aufgenommen werden kann. Passen Sie die Größe und die Größe des Speichers dem Quellserver an.

  10. Geben Sie den Pfad zu der Dumpdatei an, die Sie zuvor in Cloud Storage hochgeladen haben.

  11. Klicken Sie auf Erstellen, um das Replikat zu erstellen.

  12. Klicken Sie auf Weiter.

gcloud

  1. Erstellen Sie die Quelldarstellungsinstanz.

    gcloud beta sql instances create [REPLICA_NAME] \
        --region=[REGION] --database-version=[MYSQL_VERSION] \
        --source-ip-address=[SOURCE_IP] --source-port=[SOURCE_PORT]
    

    Wenn das Replikat eine private IP-Adresse verwendet, fügen Sie außerdem Folgendes hinzu: --network=[VPC_NETWORK_NAME].

    Ersetzen Sie die Attribute ([PROPERTIES_IN_BRACKETS]) durch folgende Werte:

    Attribut Wert
    [SOURCE_REPRESENTATION_NAME] Der Name der Quelldarstellungsinstanz. Verwenden Sie einen beliebigen gültigen Cloud SQL-Instanznamen.
    [REGION] Die Region, in der die Cloud SQL-Replikate gespeichert werden sollen.
    [MYSQL_VERSION] Die auf dem Quelldatenbankserver ausgeführte MySQL-Version: MYSQL_5_6 oder MYSQL_5_7.
    [SOURCE_IP] Die extern zugängliche IPv4-Adresse des Quelldatenbankservers.
    [SOURCE_PORT] Der extern zugängliche Port für den Quelldatenbankserver.
  2. Erstellen Sie das Cloud SQL-Replikat:

    gcloud beta sql instances create [REPLICA_NAME] \
        --master-instance-name=[SOURCE_REPRESENTATION_NAME] \
        --master-username=[USERNAME] --prompt-for-master-password \
        --master-dump-file-path=gs://[BUCKET]/[PATH_TO_DUMP] \
        --master-ca-certificate-path=[SOURCE_SERVER_CA_PATH] \
        --client-certificate-path=[CLIENT_CERT_PATH] \
        --client-key-path=[PRIVATE_KEY_PATH] \
        --tier=[MACHINE_TYPE] --storage-size=[DISK_SIZE]
    

    Wenn das Replikat eine private IP-Adresse verwendet, fügen Sie außerdem Folgendes hinzu: --network=[VPC_NETWORK_NAME].

    Ersetzen Sie die Attribute ([PROPERTIES_IN_BRACKETS]) durch folgende Werte:

    Attribut Wert
    [REPLICA_NAME] Der Name des Cloud SQL-Lesereplikats. Verwenden Sie einen beliebigen gültigen Cloud SQL-Instanznamen.
    [SOURCE_REPRESENTATION_NAME] Der Name der im vorherigen Schritt erstellten Quelldarstellungsinstanz.
    [USERNAME] Das Nutzerkonto für die MySQL-Replikation auf dem Quelldatenbankserver.
    [BUCKET] Der Name des Buckets, den Sie zum Speichern der Exportdatei erstellt haben.
    [PATH_TO_DUMP] Der Pfad zur Exportdatei.
    [SOURCE_SERVER_CA_PATH] Der lokale Pfad zum CA-Zertifikat des Quelldatenbankservers. Nur für SSL/TLS erforderlich.
    [CLIENT_CERT_PATH] Der lokale Pfad zum Clientzertifikat. Nur für die Server-Client-Authentifizierung erforderlich.
    [PRIVATE_KEY_PATH] Der lokale Pfad zur privaten Schlüsseldatei für das Clientzertifikat. Nur für die Server-Client-Authentifizierung erforderlich.
    [MACHINE_TYPE] Die Größe des Replikats. Normalerweise entspricht das Replikat etwa der Größe des Quelldatenbankservers. Wenn Sie nicht sicher sind, welchen Maschinentyp Sie verwenden sollen, beginnen Sie mit db-custom-2-7680. Sie können die Größe später bei Bedarf ändern.
    [DISK_SIZE] Die Speichergröße für das Replikat in GB. Legen Sie für eine reibungslose Replikaterstellung ausreichend Speicherplatz für die gesamte Importdatei fest.
    [VPC_NETWORK_NAME] VPC im Format: projects/[PROJECT_ID]/global/network/[NETWORK_NAME]

cURL

1. Cloud SQL-Quelldarstellungsinstanz erstellen

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
         "name": "[SOURCE_REPRESENTATION_NAME]",
         "region": "[REGION]",
         "databaseVersion": "[MYSQL_VERSION]",
         "onPremisesConfiguration": {
             "hostPort": "[SOURCE_SERVER_IP]:[SOURCE_SERVER_PORT]"
         }
     }' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

Ersetzen Sie die Attribute ([PROPERTIES_IN_BRACKETS]) durch folgende Werte:

Attribut Wert
[SOURCE_REPRESENTATION_NAME] Der Name der Quelldarstellungsinstanz. Verwenden Sie einen beliebigen gültigen Cloud SQL-Instanznamen.
[REGION] Die Region, in der die Cloud SQL-Replikate gespeichert werden sollen.
[MYSQL_VERSION] Die auf dem Quelldatenbankserver ausgeführte MySQL-Version: MYSQL_5_6 oder MYSQL_5_7.
[SOURCE_SERVER_IP] Die extern zugängliche IPv4-Adresse des Quelldatenbankservers.
[SOURCE_SERVER_PORT] Der extern zugängliche Port für den Quelldatenbankserver.
[PROJECT_ID] Die Projekt-ID Ihres Google Cloud-Projekts.

Beispiel: Für einen Quelldatenbankserver mit der IP-Adresse 192.0.2.0 erstellen Sie auf Port 3306 eine Quelldarstellungsinstanz mit dem Namen hq-primary1 und führen MySQL 5.7 für Cloud SQL-Replikate im Projekt MyProject und in der Region us-central1 aus. In diesem Fall würden Sie die folgenden Befehle verwenden:

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
         "name": "hq-primary1",
         "region": "us-central1",
         "databaseVersion": "MYSQL_5_7",
         "onPremisesConfiguration": {
             "hostPort": "192.0.2.0:3306"
         }
     }' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/MyProject/instances

2. Cloud SQL-Replikat erstellen

In diesem Schritt erstellen Sie ein Cloud SQL-Lesereplikat, wobei der Quelldarstellungsserver als Quelldatenbankserver verwendet wird. Für das Replikat nutzen Sie die Daten, die Sie im vorherigen Schritt in Cloud Storage geladen haben.

Da für diesen API-Aufruf vertrauliche Informationen verwendet werden, sollten Sie die Daten für cURL in einer JSON-Datei bereitstellen, anstatt sie in der Befehlszeile anzugeben.

Erstellen Sie die Datendatei:

{
    "replicaConfiguration": {
        "mysqlReplicaConfiguration": {
            "username": "[USERNAME]",
            "password": "[PASSWORD]",
            "dumpFilePath": "gs://[BUCKET]/[PATH_TO_DUMP]",
            "caCertificate": "[SOURCE_SERVER_CA]",
            "clientCertificate": "[CLIENT_CERT]",
            "clientKey": "[PRIVATE_KEY]"
        }
     },
     "settings": {
         "tier": "[MACHINE_TYPE]",
         "dataDiskSizeGb": "[DISK_SIZE]"
     },
     "masterInstanceName": "[SOURCE_REPRESENTATION_NAME]",
     "region": "[REGION]",
     "databaseVersion": "[MYSQL_VERSION]",
     "name": "[REPLICA_NAME]"
}

Wenn das Replikat eine private IP-Adresse verwendet, fügen Sie für die Einstellungen außerdem "ipConfiguration.privateNetwork" mit einem Wert im Format "projects/[PROJECT_ID]/global/network/[NETWORK_NAME]" hinzu.

Ersetzen Sie die Attribute ([PROPERTIES_IN_BRACKETS]) durch folgende Werte:

Attribut Wert
[USERNAME] Das Nutzerkonto für die MySQL-Replikation auf dem Quelldatenbankserver.
[PASSWORD] Das Passwort des Nutzerkontos für die MySQL-Replikation.
[BUCKET] Der Name des Buckets, den Sie zum Speichern der Exportdatei erstellt haben.
[PATH_TO_DUMP] Der Pfad zur Exportdatei.
[SOURCE_SERVER_CA] Das CA-Zertifikat des Quelldatenbankservers. Nur für SSL/TLS erforderlich. Fügen Sie das Zertifikat in den Anfragetext ein.
[CLIENT_CERT] Das Clientzertifikat. Nur für die Server-Client-Authentifizierung erforderlich. Fügen Sie das Zertifikat in den Anfragetext ein.
[PRIVATE_KEY] Die private Schlüsseldatei für das Clientzertifikat. Nur für die Server-Client-Authentifizierung erforderlich. Fügen Sie den Schlüssel in den Anfragetext ein.
[MACHINE_TYPE] Die Größe des Replikats. Normalerweise entspricht das Replikat etwa der Größe des Quelldatenbankservers. Wenn Sie nicht sicher sind, welchen Maschinentyp Sie verwenden sollen, beginnen Sie mit db-custom-2-7680. Sie können die Größe später bei Bedarf ändern.
[DISK_SIZE] Die Speichergröße für das Replikat in GB. Legen Sie für eine reibungslose Replikaterstellung ausreichend Speicherplatz für die gesamte Importdatei fest.
[SOURCE_REPRESENTATION_NAME] Der Name der zuvor erstellten Quelldarstellungsinstanz.
[REGION] Die Region, in der Sie die Quelldarstellungsinstanz erstellt haben. Die Lesereplikate müssen sich in derselben Region wie die Quelldarstellungsinstanz befinden.
[MYSQL_VERSION] Die auf dem Quelldatenbankserver ausgeführte MySQL-Version: MYSQL_5_6 oder MYSQL_5_7.
[REPLICA_NAME] Der Name des Cloud SQL-Lesereplikats. Verwenden Sie einen beliebigen gültigen Cloud SQL-Instanznamen.

Rufen Sie in der Befehlszeile die API auf:

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data @[PATH_TO_DATA_FILE] \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

Für die zuvor erstellte Quelldarstellungsinstanz und den zuvor erstellten Bucket könnte die data.json-Datendatei wie im folgenden Beispiel aussehen:

{
    "replicaConfiguration": {
        "mysqlReplicaConfiguration": {
            "username": "replicationUser",
            "password": "486#@%*@",
            "dumpFilePath": "gs://export-bucket/hq-primary1.sql.gz",
            "caCertificate": "[SOURCE_SERVER_CA]",
            "clientCertificate": "[CLIENT_CERT]",
            "clientKey": "[PRIVATE_KEY]"
        }
    },
    "settings": {
        "tier": "db-custom-4-15360",
        "dataDiskSizeGb": "100"
    },
    "masterInstanceName": "hq-primary1",
    "region": "us-central1",
    "databaseVersion": "MYSQL_5_7",
    "name": "hq-primary1-replica1"
}

Der cURL-Befehl kann so aussehen:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data @./data.json
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/MyProject/instances

Wenn das Lesereplikat auf die Dumpdatei zugreifen kann, wird der Importvorgang gestartet. Die Dauer des Importvorgangs hängt von der Größe der Dumpdatei, dem für das Replikat verwendeten Maschinentyp und dem Datenbankschema ab. Generell können Sie davon ausgehen, dass für das Replikat etwa 25–50 GB pro Stunde importiert werden.

Das Replikat verbleibt im Status PENDING_CREATE, bis der Importvorgang abgeschlossen ist. Dann wechselt das Replikat in den Status RUNNABLE.

4. Quelldatenbankserver so konfigurieren, dass Verbindungen vom Replikat akzeptiert werden

Für eine erfolgreiche Replikation muss vom Replikat eine Verbindung zum Quelldatenbankserver hergestellt werden. Wenn sich der Quelldatenbankserver hinter einer Firewall befindet oder andere Netzwerkbeschränkungen gelten, aktivieren Sie den Netzwerkzugriff für das Replikat mithilfe der OUTGOING-IP-Adresse. Beachten Sie, dass dies nicht die IP-Adresse ist, die in der Hauptliste für das Replikat in der Google Cloud Console angezeigt wird. Die OUTGOING-IP-Adresse erhalten Sie durch Bewegen des Mauszeigers auf die Kurzinfo Weitere Informationen der IP-Adresse oder mit dem unten angegebenen gcloud-Befehl.

  1. Rufen Sie die IP-Adressen des Lesereplikats ab:

    gcloud sql instances describe [REPLICA_NAME] --format="default(ipAddresses)"
    
  2. Konfigurieren Sie bei Bedarf die Netzwerkfirewall, damit der Quelldatenbankserver Verbindungen von der OUTGOING-IP-Adresse akzeptiert.
  3. Prüfen Sie, ob das Replikat mit dem Quelldatenbankserver verbunden wurde.

    1. Das Replikatsymbol in der Instanzliste sollte grün sein und dreht sich nicht mehr.
    2. Rufen Sie in der Google Cloud Console die Loganzeige auf.

      Zur Loganzeige

    3. Wählen Sie das Replikat in der Drop-down-Liste Instanz aus.
    4. Wählen Sie die Logdatei replication-setup.log aus.

      Wenn vom Replikat aus keine Verbindung zum Quelldatenbankserver hergestellt werden kann, prüfen Sie Folgendes:

      • Die Firewall auf dem Quelldatenbankserver ist so konfiguriert, dass Verbindungen über die IP-Adresse OUTGOING des Replikats zulässig sind.
      • Ihre SSL/TLS-Konfiguration ist korrekt.
      • Nutzername, Host und Passwort des Nutzerkontos für die Replikation sind korrekt.

5. Zugriff auf das Nutzerkonto für die MySQL-Replikation beschränken

Dieser Schritt ist optional, wird jedoch aus Sicherheitsgründen empfohlen.

Das auf dem Quelldatenbankserver für die MySQL-Replikation verwendete Nutzerkonto ist so konfiguriert, dass es Verbindungen von jedem Host (%) annimmt. Aktualisieren Sie dieses Nutzerkonto, damit es nur Verbindungen von der OUTGOING-IP-Adresse des Replikats akzeptiert:

    UPDATE mysql.user SET Host='[OUTGOING_IP]' WHERE Host='%' AND User='[USERNAME]';
    FLUSH PRIVILEGES;

6. Konfiguration der Replikation abschließen

  1. Konfigurieren Sie ein Nutzerkonto für das Replikat.

    Verwenden Sie dazu die Google Cloud Console, die gcloud CLI oder die Cloud SQL API. Den mysql-Client können Sie nicht verwenden. Weitere Informationen zu MySQL-Nutzern finden Sie unter MySQL-Nutzer.

    So erstellen Sie einen Nutzer mit der Google Cloud Console:

    1. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.
      Zur Seite "Cloud SQL-Instanzen"
    2. Klicken Sie auf den Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
    3. Klicken Sie auf den Tab Nutzer.
    4. Klicken Sie auf Nutzerkonto erstellen.
    5. Geben Sie im Dialogfeld Nutzerkonto erstellen die Nutzerdetails an.
    6. Klicken Sie auf Erstellen.
  2. Autorisieren Sie den Zugriff auf das Replikat von jedem Client, über den Sie eine Verbindung zum Replikat über öffentliche IP-Adressen herstellen möchten.

    Eine Anleitung finden Sie unter Autorisierte Adresse oder Adressbereich hinzufügen. Für das Herstellen einer Verbindung zum Replikat verwenden Sie die PRIMARY IP-Adresse des Replikats. Diese IP-Adresse wird in der Google Cloud Console angezeigt.

    Andernfalls können Sie eine Verbindung zum Replikat über eine beliebige andere Methode herstellen.

7. Replikationsstatus prüfen

Nachdem die Dumpdatei in das Replikat importiert wurde, wird eine Verbindung zum lokalen Server hergestellt, um alle nach dem Export erfolgten Aktualisierungen anzuwenden.

Es ist wichtig, dass Sie den Replikationsstatus prüfen, bevor Sie das Replikat zu einer eigenständigen Instanz hochstufen. Wenn der Replikationsvorgang nicht erfolgreich abgeschlossen wurde, enthält ein hochgestuftes Replikat nicht alle Änderungen aus der externen Instanz.

8. (Optional) Replikat auf eine eigenständige Instanz hochstufen

Wenn Sie nach dem Prüfen des Replikationsstatus den Quell-Datenbankserver vollständig durch Cloud SQL ersetzen ("migrieren") möchten, stufen Sie das Replikat zu einer eigenständigen primären Instanz hoch. Anschließend ist es nicht mehr mit dem ursprünglichen Quelldatenbankserver verbunden.

Erstellen Sie ein neues Replikat für die neue primäre Instanz und starten Sie Ihre verbundenen Anwendungen neu, damit sie auf die neue primäre Instanz (für Schreibvorgänge) oder auf das neue Replikat (für Lesevorgänge) verweisen.

9. Speicher bereinigen

  1. Löschen Sie die Exportdatei:

    gsutil rm gs://[BUCKET]/[PATH_TO_DUMP]
    
  2. Wenn Sie den Bucket nicht mehr benötigen, löschen Sie ihn:

    gsutil rm -r gs://[BUCKET]
    

Weitere Informationen finden Sie in der Cloud Storage-Dokumentation unter Objekte löschen und Buckets löschen.

Konfiguration aktualisieren

Wenn Sie die Konfigurationseinstellungen später aktualisieren möchten, können Sie die Quelldarstellungsinstanz bearbeiten. Wenn Sie die lokalen Konfigurationseinstellungen aktualisieren müssen, sollten Sie beachten, dass hostPort und type nicht aktualisiert werden können.

Nächste Schritte