Sie können Ihre Instanz aus einer Sicherung wiederherstellen und für einen bestimmten Zeitraum in einer neuen oder vorhandenen Instanz wiederherstellen. Sie können eine aktive oder eine gelöschte Instanz wiederherstellen. Weitere Informationen zur Funktionsweise der Wiederherstellung finden Sie unter Wiederherstellung – Übersicht .
So stellen Sie eine Instanz mithilfe einer Sicherung wieder her:
Suchen Sie die Sicherung, die Sie wiederherstellen möchten.
Instanz mit der Sicherung wiederherstellen
Der Speicherort der Sicherung hängt von der Sicherungsoption der Instanz ab.
Live-Instanz wiederherstellen
Sie können eine Sicherung auf folgende Weise wiederherstellen:
Gleiche Instanz wiederherstellen
Wenn Sie Daten aus einer Sicherung in derselben Instanz wiederherstellen, werden die Daten in dieser Instanz in den Status zurückversetzt, den sie zum Zeitpunkt der Sicherung hatten.
Warnung: Bei der Wiederherstellung werden alle aktuellen Daten auf der Instanz überschrieben, einschließlich früherer Logs für die Wiederherstellung zu einem bestimmten Zeitpunkt. Vorherige On-Demand- und automatische Sicherungen auf der Instanz werden beibehalten.
So stellen Sie Ihre Instanz mithilfe einer Sicherung in derselben Instanz wieder her:
Console
Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Sicherungen auf.
Zu Cloud SQL-Sicherungen
Klicken Sie auf der Seite Sicherungen je nach Sicherungsoption Ihrer Instanz auf Standardstufe oder Erweiterte Stufe .
Wenn Ihre Instanz Standardbackups verwendet, wählen Sie die Instanz aus, für die Sie Backups ansehen möchten.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, wählen Sie Erweiterte Stufe und dann den Backup Vault aus, der die Sicherung enthält, die Sie verwenden möchten. Alle im Backup Vault für die ausgewählte Instanz verfügbaren Sicherungen werden angezeigt.
Suchen Sie den Namen der Sicherung, die Sie wiederherstellen möchten, und klicken Sie dann auf Wiederherstellen .
Hinweis: Alle Replikate für Ihre Zielinstanz müssen vor der Wiederherstellung gelöscht werden.
Wählen Sie unter Wiederherstellungsziel auswählen die Option Quellinstanz überschreiben aus.
Geben Sie zur Bestätigung Ihrer Auswahl den Namen der zu überschreibenden Instanz in das Feld Zielinstanz-ID ein.
Klicken Sie auf Wiederherstellen .
Cloud SQL stellt die Sicherung auf derselben Instanz wieder her. Den Status des Wiederherstellungsvorgangs können Sie auf der Seite Vorgänge für die Instanz prüfen.
Sie können Replikate erstellen, sobald die Wiederherstellung abgeschlossen ist.
gcloud
Alle Replikate müssen vor der Wiederherstellung aus Ihrer Instanz gelöscht werden.
Prüfen Sie mit dem Befehl gcloud sql instances describe , ob Ihre Instanz Lesereplikate hat:
gcloud sql instances describe INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz Replikate enthält, löschen Sie diese mit dem Befehl gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Ersetzen Sie Folgendes:
REPLICA_NAME : der Name des Replikats
Suchen Sie die Sicherung, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, verwenden Sie den Befehl gcloud sql backups list , um eine Sicherung zu finden und den zugehörigen ID-Wert zu notieren:
gcloud sql backups list --instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, lesen Sie den Abschnitt Alle Sicherungen in einem Backup Vault auflisten .
Verwenden Sie den Befehl gcloud sql backups restore , um die Instanz aus der angegebenen Sicherung wiederherzustellen:
gcloud sql backups restore BACKUP_ID \
--restore-instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
BACKUP_ID : die ID der Sicherung, die Sie wiederherstellen möchten.
INSTANCE_NAME : der Name der Instanz.
Erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie im Rahmen dieses Verfahrens gelöscht haben.
REST Version 1
Wenn Sie feststellen möchten, ob die Instanz Lesereplikate hat, und deren IDs abrufen möchten, listen Sie alle Replikate für die Instanz auf:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"replicaNames": [
"REPLICA_NAME "
]
}
Löschen Sie alle Replikate für die Instanz:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
REPLICA_ID : die Replikat-ID
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Rufen Sie die ID der Sicherung ab, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, führen Sie Folgendes aus:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
So stellen Sie die Instanz aus der Sicherung wieder her:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
BACKUP_ID : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_ID ",
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie im Rahmen dieses Verfahrens gelöscht haben.
REST v1beta4
Wenn Sie feststellen möchten, ob die Instanz Lesereplikate hat, und deren IDs abrufen möchten, listen Sie alle Replikate für die Instanz auf:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"replicaNames": [
"REPLICA_NAME "
]
}
Löschen Sie alle Replikate für die Instanz:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
REPLICA_ID : die Replikat-ID
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Rufen Sie die ID der Sicherung ab, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, führen Sie Folgendes aus:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
So stellen Sie die Instanz aus der Sicherung wieder her:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
BACKUP_RUN_ID : ein Datums- und Zeitstempel, der angibt, wann Cloud SQL die Instanz aus der Sicherung wiederherstellt
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_RUN_ID ",
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie im Rahmen dieses Verfahrens gelöscht haben.
In einer neuen oder vorhandenen Instanz wiederherstellen
Wenn Sie Daten aus einer Sicherung in einer anderen Instanz wiederherstellen, werden die Daten in der Zielinstanz in den Zustand versetzt, den die Quellinstanz zum Zeitpunkt der Sicherung hatte.
Wenn Sie eine Liste der Sicherungen für das Projekt benötigen und sich diese aufgrund eines Ausfalls nicht auf der Instanzübersichtsseite ansehen können, können Sie die backupRuns.list API mit einem Platzhalter (-) verwenden. Die Platzhalter-Option ruft eine Liste aller Sicherungen in allen Instanzen des Projekts ab. Weitere Informationen finden Sie unter Sicherungen während eines Ausfalls ansehen .
So stellen Sie Ihre Instanz in einer neuen oder vorhandenen Instanz wieder her:
Console
Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Sicherungen auf.
Zu Cloud SQL-Sicherungen
Klicken Sie auf der Seite Sicherungen je nach Sicherungsoption Ihrer Instanz auf Standardstufe oder Erweiterte Stufe .
Wenn Ihre Instanz Standardbackups verwendet, wählen Sie die Instanz aus, für die Sie Backups ansehen möchten.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, wählen Sie Erweiterte Stufe und dann den Backup Vault aus, der die Sicherung enthält, die Sie verwenden möchten. Alle im Backup Vault für die ausgewählte Instanz verfügbaren Sicherungen werden angezeigt.
Suchen Sie den Namen der Sicherung, die Sie wiederherstellen möchten, und klicken Sie dann auf Wiederherstellen .
Unter Wiederherstellungsziel auswählen :
Wenn Sie die Instanz in einer neuen Instanz wiederherstellen möchten, wählen Sie In einer neuen Instanz wiederherstellen aus und aktualisieren Sie Folgendes:
Bestätigen Sie unter Region die Region. Die Region sollte mit der Region der neuen Instanz übereinstimmen.
Geben Sie im Feld Instanz-ID einen Namen für die neue Instanz ein. Dieser Name ist dauerhaft und kann nicht geändert werden.
Wenn Sie Ihre Instanz in einer vorhandenen Instanz wiederherstellen möchten, wählen Sie Vorhandene Instanz überschreiben aus und gehen Sie so vor:
Hinweis: Alle Replikate für Ihre Zielinstanz müssen vor der Wiederherstellung gelöscht werden.
Wählen Sie im Menü Zu überschreibende Instanz die Instanz aus, die Sie für die Wiederherstellung verwenden möchten. Die ausgewählte Instanz und alle zugehörigen Daten werden überschrieben.
Geben Sie zur Bestätigung Ihrer Auswahl den Namen der zu überschreibenden Instanz in das Feld Zielinstanz-ID ein.
Klicken Sie auf Wiederherstellen .
Cloud SQL stellt die Sicherung je nach Auswahl auf der neuen oder vorhandenen Instanz wieder her. Rufen Sie die Seite Vorgänge für die Instanz auf, um den Status der Wiederherstellung zu prüfen.
Sie können Replikate erstellen, sobald die Wiederherstellung abgeschlossen ist.
gcloud
Wenn Sie eine Wiederherstellung in einer vorhandenen Instanz durchführen, müssen alle Replikate vor der Wiederherstellung aus der Zielinstanz gelöscht werden.
Prüfen Sie mit dem Befehl gcloud sql instances describe , ob Ihre Instanz Lesereplikate hat:
gcloud sql instances describe TARGET_INSTANCE_NAME
Ersetzen Sie Folgendes:
TARGET_INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz Replikate enthält, löschen Sie diese mit dem Befehl gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Ersetzen Sie Folgendes:
REPLICA_NAME : der Name des Replikats
Suchen Sie die Sicherung, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, verwenden Sie den Befehl gcloud sql backups list , um eine Sicherung zu finden und den zugehörigen ID-Wert zu notieren:
gcloud sql backups list --instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, lesen Sie den Abschnitt Alle Sicherungen in einem Backup Vault auflisten .
Verwenden Sie den Befehl gcloud sql backups restore , um die Instanz aus der angegebenen Sicherung wiederherzustellen:
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME \
--backup-instance=SOURCE_INSTANCE_NAME
Ersetzen Sie Folgendes:
BACKUP_ID : die ID der Sicherung, die Sie wiederherstellen möchten.
TARGET_INSTANCE_NAME : der Name der neuen oder vorhandenen Zielinstanz.
SOURCE_INSTANCE_NAME : der Name der Quellinstanz.
Wenn Sie die Wiederherstellung in einer vorhandenen Instanz durchführen, erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie in diesem Verfahren gelöscht haben.
REST Version 1
Wenn Sie eine vorhandene Instanz verwenden, müssen alle Replikate vor der Wiederherstellung gelöscht werden. Prüfen Sie, ob die Instanz Lesereplikate hat, und rufen Sie deren IDs ab. Listen Sie dazu alle Replikate für die Instanz auf:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"replicaNames": [
"REPLICA_NAME "
]
}
Löschen Sie alle Replikate für die Instanz:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
REPLICA_ID : die Replikat-ID
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Rufen Sie die ID der Sicherung ab, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, führen Sie Folgendes aus:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
So stellen Sie die Instanz aus der Sicherung wieder her:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
target-instance-id : die ID der Zielinstanz
source-instance-id : die ID der Quellinstanz
backup-id : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup
JSON-Text anfordern:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie im Rahmen dieses Verfahrens gelöscht haben.
REST v1beta4
Wenn Sie feststellen möchten, ob die Instanz Lesereplikate hat, und deren IDs abrufen möchten, listen Sie alle Replikate für die Instanz auf:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"replicaNames": [
"REPLICA_NAME "
]
}
Löschen Sie alle Replikate für die Instanz:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
REPLICA_ID : die Replikat-ID
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Rufen Sie die ID der Sicherung ab, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, führen Sie Folgendes aus:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
So stellen Sie die Instanz aus der Sicherung wieder her:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
target-instance-id : die ID der Zielinstanz
source-instance-id : die ID der Quellinstanz
backup-id : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup
JSON-Text anfordern:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie im Rahmen dieses Verfahrens gelöscht haben.
Instanz in einem anderen Projekt wiederherstellen
Mit dem Parameter project können Sie Daten in einer Instanz in einem anderen Projekt wiederherstellen. Wenn Sie aus einer Sicherung eine Instanz in einem anderen Projekt wiederherstellen, werden die Daten in der Zielinstanz in den Zustand versetzt, den die Quellinstanz zum Zeitpunkt der Sicherung hatte.
Der Nutzer, der die Wiederherstellung in einem anderen Projekt durchführt, muss die folgenden Berechtigungen haben, um die Instanz wiederherzustellen:
* cloudsql.instances.restoreBackup -Berechtigung für das Zielprojekt
* cloudsql.backupRuns.get -Berechtigung für das Quellprojekt.
Diese Berechtigungen sind in der Rolle Cloud SQL Admin enthalten.
Warnung: Bei der Wiederherstellung werden alle aktuellen Daten auf der Instanz überschrieben, einschließlich früherer Logs für die Wiederherstellung zu einem bestimmten Zeitpunkt. Vorherige On-Demand- und automatische Sicherungen auf der Instanz werden beibehalten.
So stellen Sie Ihre Instanz mithilfe einer Sicherung in einer Instanz in einem anderen Projekt oder einer anderen Region wieder her:
gcloud
Wenn Sie eine vorhandene Instanz wiederherstellen, prüfen Sie mit dem Befehl gcloud sql instances describe , ob die Zielinstanz Lesereplikate hat:
gcloud sql instances describe TARGET_INSTANCE_NAME
Ersetzen Sie Folgendes:
TARGET_INSTANCE_NAME : der Name der Zielinstanz, in der Sie die Sicherung wiederherstellen möchten.
Löschen Sie alle Replikate für Ihre Zielinstanz mit dem Befehl gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Ersetzen Sie Folgendes:
REPLICA_NAME : der Name des Replikats der Zielinstanz.
Alle Replikate müssen gelöscht werden, bevor Sie eine Wiederherstellung auf einer vorhandenen Instanz durchführen können.
Suchen Sie die Sicherung, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, verwenden Sie den Befehl gcloud sql backups list , um eine Sicherung zu finden und den zugehörigen ID-Wert zu notieren:
gcloud sql backups list --instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, lesen Sie den Abschnitt Alle Sicherungen in einem Backup Vault auflisten .
Verwenden Sie den Befehl gcloud sql backups restore , um eine neue oder vorhandene Instanz in einem neuen Projekt wiederherzustellen:
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME \
--backup-instance=SOURCE_INSTANCE_NAME \
--backup-project=SOURCE_INSTANCE_PROJECT
Ersetzen Sie Folgendes:
BACKUP_ID : die ID der Sicherung aus dem Backup Vault. Sie müssen den vollständigen Pfad der Sicherung in dieses Feld eingeben.
TARGET_INSTANCE_NAME : die Instanz im Zielprojekt, in der Sie Daten wiederherstellen.
SOURCE_INSTANCE_NAME : der Instanzname im Quellprojekt, in dem sich die Daten befinden.
SOURCE_INSTANCE_PROJECT : das Projekt, das die Quellinstanz enthält.
REST Version 1
Rufen Sie backupId mit diesem Befehl ab:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Sicherung in einer Instanz in einem anderen Projekt wiederherstellen:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie diese Werte in den folgenden Anfragedaten:
source-project-id : Die Quellprojekt-ID
target-project-id : Die Zielprojekt-ID
target-instance-id : die ID der Zielinstanz
source-instance-id : die ID der Quellinstanz
backup-id : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup
JSON-Text anfordern:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"project": "source-project-id ",
"instanceId": "source-instance-id "
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
REST v1beta4
Rufen Sie backupId mit diesem Befehl ab:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
project-id : die Projekt-ID
instance-id : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
Sicherung in einer Instanz in einem anderen Projekt wiederherstellen:
Bevor Sie die Anfragedaten verwenden, ersetzen Sie diese Werte in den folgenden Anfragedaten:
source-project-id : Die Quellprojekt-ID
target-project-id : Die Zielprojekt-ID
target-instance-id : die ID der Zielinstanz
source-instance-id : die ID der Quellinstanz
backup-id : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup
JSON-Text anfordern:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"project": "source-project-id ",
"instanceId": "source-instance-id "
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
Gelöschte Instanz wiederherstellen
Sie können eine abschließende Sicherung oder eine aufbewahrte Sicherung verwenden, um eine gelöschte Instanz in den folgenden Szenarien wiederherzustellen:
In einer vorhandenen Instanz wiederherstellen
Wenn Sie Daten aus einer endgültigen oder aufbewahrten Sicherung in einer vorhandenen Instanz wiederherstellen, werden die Daten in der Zielinstanz in den Zustand versetzt, den die Quellinstanz zum Zeitpunkt der Sicherung hatte. Weitere Informationen zum Wiederherstellen einer Instanz finden Sie unter Allgemeine Tipps zum Wiederherstellen aus Sicherungen .
Warnung: Bei der Wiederherstellung werden alle aktuellen Daten auf der Instanz überschrieben, einschließlich früherer Logs für die Wiederherstellung zu einem bestimmten Zeitpunkt. Vorherige On-Demand- und automatische Sicherungen auf der Instanz werden beibehalten.
So stellen Sie eine gelöschte Instanz mithilfe einer Sicherung in einer vorhandenen Instanz wieder her:
Console
Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.
Cloud SQL-Instanzen aufrufen
Wenn die Zielinstanz Lesereplikate enthält, können Sie diese über das Aktionsmenü löschen. Alle Replikate müssen gelöscht werden, bevor Sie eine beibehaltene oder endgültige Sicherung in der vorhandenen Instanz wiederherstellen können.
Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Sicherungen auf.
Zu Cloud SQL-Sicherungen
Klicken Sie auf der Seite Sicherungen je nach Sicherungsoption Ihrer Instanz auf Standardstufe oder Erweiterte Stufe .
Wenn Ihre Instanz Standardsicherungen verwendet, klicken Sie auf den Namen der gelöschten Instanz, die die Sicherung enthält, die Sie wiederherstellen möchten.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, wählen Sie Erweiterte Stufe und dann den Backup Vault aus, der die gewünschte Sicherung enthält. Alle im Backup Vault für die ausgewählte Instanz verfügbaren Sicherungen werden angezeigt.
Suchen Sie den Namen der Sicherung, die Sie wiederherstellen möchten, und klicken Sie dann auf Wiederherstellen .
Prüfen Sie auf der Seite Instanz aus einer Sicherung wiederherstellen , ob Sie unter Sicherungsdetails prüfen die richtige Sicherung ausgewählt haben.
Wählen Sie im Abschnitt Wiederherstellungsziel auswählen die Option Vorhandene Instanz überschreiben aus.
Wählen Sie im Menü Zu überschreibende Instanz die Instanz aus, in der Sie die Sicherung wiederherstellen möchten. Die ausgewählte Instanz und alle zugehörigen Daten werden überschrieben.
Geben Sie zur Bestätigung Ihrer Auswahl den Namen der zu überschreibenden Instanz in das Feld Zielinstanz-ID ein.
Klicken Sie auf Wiederherstellen .
Cloud SQL stellt die Sicherung in der vorhandenen Instanz wieder her.
Rufen Sie die Seite Vorgänge für die Instanz auf, um den Status des Wiederherstellungsvorgangs zu prüfen.
Sie können Replikate erstellen, sobald die Wiederherstellung abgeschlossen ist.
gcloud
Wenn Sie eine vorhandene Instanz wiederherstellen, müssen alle Replikate vor der Wiederherstellung aus der Zielinstanz gelöscht werden.
Prüfen Sie mit dem Befehl gcloud sql instances describe , ob Ihre Instanz Lesereplikate hat:
gcloud sql instances describe TARGET_INSTANCE_NAME
Ersetzen Sie Folgendes:
TARGET_INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz Replikate enthält, löschen Sie diese mit dem Befehl gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Ersetzen Sie Folgendes:
REPLICA_NAME : der Name des Replikats
Suchen Sie die Sicherung, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, verwenden Sie den Befehl gcloud sql backups list , um eine Sicherung zu finden und den zugehörigen ID-Wert zu notieren:
gcloud sql backups list --instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, lesen Sie den Abschnitt Alle Sicherungen in einem Backup Vault auflisten .
Verwenden Sie den Befehl gcloud sql backups restore , um die Instanz aus der angegebenen Sicherung wiederherzustellen:
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
Ersetzen Sie Folgendes:
BACKUP_ID : die ID der Sicherung, die Sie wiederherstellen möchten.
TARGET_INSTANCE_NAME : der Name der neuen oder vorhandenen Zielinstanz.
Erstellen Sie nach Abschluss der Wiederherstellung alle Replikate neu, die Sie im Rahmen dieses Verfahrens gelöscht haben.
REST Version 1
Wenn Sie eine vorhandene Instanz wiederherstellen, müssen alle Replikate vor der Wiederherstellung aus der Zielinstanz gelöscht werden. Führen Sie den folgenden Befehl aus, um festzustellen, ob die Instanz Lesereplikate hat:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"replicaNames": [
"REPLICA_NAME "
]
}
Löschen Sie alle Lesereplikate der Instanz:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
REPLICA_ID : die Replikat-ID
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Rufen Sie die ID der endgültigen oder beibehaltenen Sicherung ab, die Sie verwenden möchten:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Stellen Sie die Zielinstanz aus der beibehaltenen oder endgültigen Sicherung wieder her.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
TARGET_INSTANCE_ID : die ID der Zielinstanz
BACKUP_ID : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
Wenn Sie eine vorhandene Instanz wiederherstellen, müssen alle Replikate vor der Wiederherstellung aus der Zielinstanz gelöscht werden. Führen Sie den folgenden Befehl aus, um festzustellen, ob die Instanz Lesereplikate hat:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
INSTANCE_ID : die Instanz-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"replicaNames": [
"REPLICA_NAME "
]
}
Löschen Sie alle Lesereplikate der Instanz:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
REPLICA_ID : die Replikat-ID
HTTP-Methode und URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Rufen Sie die ID der endgültigen oder beibehaltenen Sicherung ab, die Sie verwenden möchten:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Stellen Sie die Zielinstanz aus der beibehaltenen oder endgültigen Sicherung wieder her.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
TARGET_INSTANCE_ID : die ID der Zielinstanz
BACKUP_ID : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
In einer neuen Instanz wiederherstellen
Wenn Sie eine Instanz aus einer endgültigen oder beibehaltenen Sicherung erstellen, verwendet Cloud SQL die Konfigurationseinstellungen der Instanz, von der die Sicherung erstellt wurde.
Nachdem die Instanz erstellt wurde, stellt Cloud SQL die Daten in dem Zustand wieder her, in dem sie sich zum Zeitpunkt der Sicherung befanden.
Zum Wiederherstellen von Daten aus einer endgültigen oder beibehaltenen Sicherung in einer neuen Instanz benötigen Sie die folgenden Berechtigungen:
cloudsql.instances.create-Berechtigung für das Zielprojekt
cloudsql.instances.restoreBackup-Berechtigung für das Zielprojekt
cloudsql.backupRuns.get permission für die Quellsicherung.
Diese Berechtigungen sind in der Rolle „Cloud SQL-Administrator“ enthalten.
Hinweis: Die Instanz, die Sie aus der abschließenden Sicherung erstellen, hat eine andere IP-Adresse als die Instanz, in der die abschließende Sicherung erstellt wird. Weitere Informationen über das Wiederherstellen einer Instanz finden Sie unter Allgemeine Tipps zum Wiederherstellen aus Sicherungen .
So stellen Sie eine gelöschte Instanz mithilfe einer Sicherung in einer neuen Instanz wieder her:
Console
Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Sicherungen auf.
Zu Cloud SQL-Sicherungen
Klicken Sie auf der Seite Sicherungen je nach Sicherungsoption Ihrer Instanz auf Standardstufe oder Erweiterte Stufe .
Wenn Ihre Instanz Standardsicherungen verwendet, klicken Sie auf den Namen der gelöschten Instanz, die die Sicherung enthält, die Sie wiederherstellen möchten.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, wählen Sie Erweiterte Stufe und dann den Backup Vault aus, der die Sicherung enthält, die Sie verwenden möchten. Alle im Backup Vault für die ausgewählte Instanz verfügbaren Sicherungen werden angezeigt.
Suchen Sie den Namen der Sicherung, die Sie wiederherstellen möchten, und klicken Sie auf Wiederherstellen .
Prüfen Sie auf der Seite Instanz aus einer Sicherung wiederherstellen , ob Sie unter Sicherungsdetails prüfen die richtige Sicherung ausgewählt haben.
Wählen Sie im Abschnitt Wiederherstellungsziel auswählen die Option In einer neuen Instanz wiederherstellen aus.
Wählen Sie im Menü Region die Region für die neue Instanz aus.
Geben Sie im Feld Instanz-ID eine ID für die neue Instanz ein.
Diese ID kann nach dem Erstellen nicht mehr geändert werden.
Klicken Sie auf Wiederherstellen .
Cloud SQL stellt die Sicherung in der vorhandenen Instanz wieder her.
Rufen Sie die Seite Vorgänge für die Instanz auf, um den Status des Wiederherstellungsvorgangs zu prüfen.
gcloud
Suchen Sie die Sicherung, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, verwenden Sie den Befehl gcloud sql backups list , um eine Sicherung zu finden und den zugehörigen ID-Wert zu notieren:
gcloud sql backups list --instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, lesen Sie den Abschnitt Alle Sicherungen in einem Backup Vault auflisten .
Verwenden Sie den Befehl gcloud sql backups restore , um die Instanz aus der angegebenen Sicherung wiederherzustellen:
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
Ersetzen Sie Folgendes:
BACKUP_ID : Die ID der Sicherung, die Sie wiederherstellen möchten.
TARGET_INSTANCE_NAME : der Name der neuen oder vorhandenen Zielinstanz.
REST Version 1 Neue Instanz aus der angegebenen aufbewahrten oder abschließenden Sicherung wiederherstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
TARGET_INSTANCE_ID : die ID der Zielinstanz
BACKUP_ID : die Sicherungs-ID
Hinweis: Mit der Codezeile restore_instance_settings: {} kann Cloud SQL Daten aus der Sicherung in der neuen Instanz wiederherstellen.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 Neue Instanz aus der angegebenen aufbewahrten oder abschließenden Sicherung wiederherstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
TARGET_INSTANCE_ID : die ID der Zielinstanz
BACKUP_ID : die Sicherungs-ID
Hinweis: Mit der Codezeile restore_instance_settings: {} kann Cloud SQL Daten aus der Sicherung in der neuen Instanz wiederherstellen.
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
In einer neuen oder vorhandenen Instanz in einem anderen Projekt wiederherstellen
Mit dem Parameter project können Sie Daten in einer Instanz in einem anderen Projekt wiederherstellen. Wenn Sie eine gelöschte Instanz aus einer Sicherung in einer Instanz in einem anderen Projekt wiederherstellen, wird die Zielinstanz auf den Status der Quellinstanz zum Zeitpunkt der Sicherung aktualisiert.
Der Nutzer, der die Wiederherstellung in einem anderen Projekt durchführt, muss die folgenden Berechtigungen haben, um die Instanz wiederherzustellen:
cloudsql.instances.create-Berechtigung für das Zielprojekt
cloudsql.instances.restoreBackup-Berechtigung für das Zielprojekt
cloudsql.backupRuns.get permission für die Quellsicherung.
Diese Berechtigungen sind in der Rolle Cloud SQL Admin enthalten.
Warnung: Bei der Wiederherstellung werden alle aktuellen Daten auf der Instanz überschrieben, einschließlich früherer Logs für die Wiederherstellung zu einem bestimmten Zeitpunkt. Vorherige On-Demand- und automatische Sicherungen auf der Instanz werden beibehalten.
So stellen Sie Ihre Instanz mithilfe einer Sicherung in einer Instanz in einem anderen Projekt oder einer anderen Region wieder her:
gcloud
Wenn Sie eine vorhandene Instanz wiederherstellen, prüfen Sie mit dem Befehl gcloud sql instances describe , ob die Zielinstanz Lesereplikate hat:
gcloud sql instances describe TARGET_INSTANCE_NAME
Ersetzen Sie Folgendes:
TARGET_INSTANCE_NAME : der Name der Zielinstanz, in der Sie die Sicherung wiederherstellen möchten.
Löschen Sie alle Replikate für Ihre Zielinstanz mit dem Befehl gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
```
Replace the following:
REPLICA_NAME : der Name des Replikats der Zielinstanz.
Alle Replikate müssen gelöscht werden, bevor Sie eine Wiederherstellung auf einer vorhandenen Instanz durchführen können.
Suchen Sie die Sicherung, die Sie verwenden möchten.
Wenn Ihre Instanz Standardsicherungen verwendet, verwenden Sie den Befehl gcloud sql backups list , um eine Sicherung zu finden und den zugehörigen ID-Wert zu notieren:
gcloud sql backups list --instance=INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME : der Name der Instanz.
Wenn Ihre Instanz erweiterte Sicherungen verwendet, lesen Sie den Abschnitt Alle Sicherungen in einem Backup Vault auflisten .
Verwenden Sie den Befehl gcloud sql backups restore , um eine neue oder vorhandene Instanz in einem neuen Projekt wiederherzustellen:
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME \
--backup-instance=SOURCE_INSTANCE_NAME \
--backup-project=SOURCE_INSTANCE_PROJECT
Ersetzen Sie Folgendes:
BACKUP_ID : die ID der Sicherung aus dem Backup Vault. Sie müssen den vollständigen Pfad der Sicherung in dieses Feld eingeben.
TARGET_INSTANCE_NAME : die Instanz im Zielprojekt, in der Sie Daten wiederherstellen.
SOURCE_INSTANCE_NAME : der Instanzname im Quellprojekt, in dem sich die Daten befinden.
SOURCE_INSTANCE_PROJECT : das Projekt, das die Quellinstanz enthält.
REST Version 1 Führen Sie den folgenden Befehl aus, um die backupID für die aufbewahrte oder endgültige Sicherung abzurufen:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
In einem anderen Projekt wiederherstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
TARGET_INSTANCE_ID : die ID der Zielinstanz
BACKUP_ID : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 Führen Sie den folgenden Befehl aus, um die backupID für die aufbewahrte oder endgültige Sicherung abzurufen:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort erhalten, die in etwa so aussieht:
Antwort
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
In einem anderen Projekt wiederherstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID : die Projekt-ID
TARGET_INSTANCE_ID : die ID der Zielinstanz
BACKUP_ID : die Sicherungs-ID
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
JSON-Text anfordern:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt oder die Cloud Shell genutzt haben, die Sie automatisch in der gcloud-Befehlszeile anmeldet.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
Hinweis: Der folgende Befehl setzt voraus, dass Sie sich mit Ihrem Nutzerkonto in der gcloud-Befehlszeile angemeldet haben, indem Sie gcloud init oder gcloud auth login ausgeführt haben.
Um herauszufinden, welches Konto gerade aktiv ist, führen Sie gcloud auth list aus.
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Antwort
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Nächste Schritte