Mit der Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) können Sie Ihre primären Cloud SQL-Instanzen wiederherstellen, unabhängig davon, ob die Instanz aktiv oder gelöscht ist. Mit PITR können Sie die Instanz zu einem bestimmten Zeitpunkt wiederherstellen. Bei einer gelöschten Instanz können Sie die Instanz zu einem bestimmten Zeitpunkt in einer neuen oder vorhandenen Instanz wiederherstellen.
Cloud SQL bietet die folgenden Optionen zum Wiederherstellen Ihrer Instanz mit der Wiederherstellung zu einem bestimmten Zeitpunkt:
Wenn Sie eine PITR für eine nicht verfügbare oder gelöschte Instanz durchführen möchten, müssen Sie den neuesten und frühesten Wiederherstellungszeitpunkt ermitteln.
PITR durchführen
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Rufen Sie das Dreipunkt-Menü
der Instanz auf, die Sie wiederherstellen möchten, und klicken Sie auf Klon erstellen. - Optional können Sie auf der Seite Klon erstellen die ID des neuen Klon aktualisieren.
- Wählen Sie Von einem früheren Zeitpunkt klonen aus.
- Geben Sie eine Uhrzeit für die Wiederherstellung auf einen bestimmten Zeitpunkt ein.
- Wählen Sie Alle Datenbanken aus oder geben Sie einen Datenbanknamen an.
Wenn Sie einen Datenbanknamen angeben, kann nur einer ausgewählt werden. Standardmäßig ist PITR für alle Datenbanken aktiviert. - Klicken Sie auf Klon erstellen.
gcloud
Erstellen Sie einen Klon mithilfe der Wiederherstellung zu einem bestimmten Zeitpunkt.
Ersetzen Sie Folgendes:
- SOURCE_INSTANCE_NAME: der Name der Instanz, von der aus Sie wiederherstellen möchten.
- NEW_INSTANCE_NAME: der Name für den Klon.
- TIMESTAMP: die UTC-Zeitzone für die Quellinstanz im Format RFC 3339. Beispiel: 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \ NEW_INSTANCE_NAME \ --point-in-time 'TIMESTAMP'
REST Version 1
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
- restore-timestamp der Zeitpunkt, zu dem wiederhergestellt werden soll
In der JSON-Anfrage können Sie optional bis zu einem bestimmten Datenbanknamen so angeben: "databaseNames": "my-database"
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
JSON-Text anfordern:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
REST v1beta4
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
- restore-timestamp der Zeitpunkt, zu dem wiederhergestellt werden soll
In der JSON-Anfrage können Sie optional bis zu einem bestimmten Datenbanknamen so angeben: "databaseNames": "my-database"
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
JSON-Text anfordern:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Wiederherstellung zu einem bestimmten Zeitpunkt mit dem Backup Vault ausführen
Wenn für Ihre Cloud SQL-Instanz die Verwendung von erweiterten Back-ups aktiviert ist, können Sie die Wiederherstellung zu einem bestimmten Zeitpunkt für Ihre Instanz mithilfe des Backup-Tresors durchführen.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
Rufen Sie das Dreipunkt-Menü
der Instanz auf, die Sie wiederherstellen möchten, und klicken Sie auf Klon erstellen.Wählen Sie Von einem früheren Zeitpunkt klonen aus.
Geben Sie eine Uhrzeit für die Wiederherstellung auf einen bestimmten Zeitpunkt ein.
Klicken Sie auf Klon erstellen.
gcloud
Wenn Sie eine PITR für eine Instanz aus dem Backup Vault durchführen möchten, müssen Sie die data-source für die Sicherung suchen, die dem Zeitpunkt, zu dem Sie die PITR durchführen möchten, am nächsten ist. Informationen zum Suchen der Sicherung finden Sie unter Alle Sicherungen im Backup Vault für eine Instanz auflisten. Führen Sie den folgenden Befehl aus, nachdem Sie die Sicherung ermittelt haben, um PITR durchzuführen:
gcloud sql instances point-in-time-restore DATA_SOURCE
PITR_TIMESTAMP
--project=TARGET_PROJECT
Ersetzen Sie Folgendes:
- DATA_SOURCE: Der Pfad der
data-sourcefür die Sicherung, die dem PITR-Zeitstempel, zu dem Sie die Wiederherstellung durchführen möchten, am nächsten ist. - PITR_TIMESTAMP: Der UTC-Zeitstempel für das PITR-Log der Quellinstanz, auf das Sie Ihre Instanz zurücksetzen möchten, im RFC 3339-Format. Beispiel: 2012-11-15T16:19:00.094Z.
- TARGET_PROJECT: die Projekt-ID Ihrer Cloud SQL-Instanz.
REST Version 1
REST v1beta4
PITR für eine gelöschte Instanz ausführen
Wenn Sie eine gelöschte Instanz mit der Wiederherstellung zu einem bestimmten Zeitpunkt wiederherstellen möchten, benötigen Sie Folgendes:
- Der PITR-Zeitstempel (
timestamp), zu dem Sie Ihre Instanz wiederherstellen möchten - Name der Zielinstanz
- Der Zeitpunkt, zu dem die Quellinstanz gelöscht wurde (
source-instance-deletion-time)
Sie können PITR für eine gelöschte Instanz nur mit der gcloud CLI oder der Cloud SQL API verwenden. Weitere Informationen finden Sie unter Gelöschte Instanz mit PITR wiederherstellen.
gcloud
Zeitfenster für die Wiederherstellung zu einem bestimmten Zeitpunkt finden
Um das PITR-Zeitfenster Ihrer gelöschten Instanz zu ermitteln, rufen Sie die früheste und späteste Wiederherstellungszeit für Ihre Instanz ab. Sie können in diesem Fenster einen beliebigen Zeitstempel auswählen, um eine PITR durchzuführen.
Löschzeitpunkt der Quellinstanz und Tage der Logaufbewahrung ermitteln
Die source-instance-deletion-time und log-retention-days für die gelöschte Instanz werden nach dem Löschen mit den beibehaltenen Sicherungen für Ihre Instanz gespeichert. Informationen zum Ermitteln dieser Werte für Ihre gelöschte Instanz finden Sie unter Beibehaltene Sicherungen auflisten.
Mit PITR wiederherstellen
Führen Sie den folgenden Befehl aus, um Ihre gelöschte Instanz mit einer PITR wiederherzustellen:
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP
Ersetzen Sie Folgendes:
SOURCE_INSTANCE_NAME: der Name der Quellinstanz, die Sie wiederherstellen möchten.NEW_INSTANCE_NAME: der Name der neuen Instanz.PITR_TIMESTAMP: Der UTC-Zeitstempel für das PITR-Log der Quellinstanz, auf das Sie Ihre Instanz zurücksetzen möchten, im RFC 3339-Format. Beispiel: 2012-11-15T16:19:00.094Z.SOURCE_INSTANCE_DELETION_TIMESTAMP: der UTC-Zeitstempel für den Zeitpunkt, zu dem die Quellinstanz gelöscht wurde, im RFC 3339-Format. Beispiel: 2012-11-15T16:19:00.094Z.
REST Version 1
Zeitfenster für die Wiederherstellung zu einem bestimmten Zeitpunkt finden
Um das PITR-Zeitfenster Ihrer gelöschten Instanz zu ermitteln, rufen Sie die früheste und späteste Wiederherstellungszeit für Ihre Instanz ab. Sie können in diesem Fenster einen beliebigen Zeitstempel auswählen, um eine PITR durchzuführen.
Löschzeitpunkt der Quellinstanz und Tage der Logaufbewahrung ermitteln
Die source-instance-deletion-time und log-retention-days für die gelöschte Instanz werden nach dem Löschen mit den beibehaltenen Sicherungen für Ihre Instanz gespeichert. Informationen zum Ermitteln dieser Werte für Ihre gelöschte Instanz finden Sie unter Beibehaltene Sicherungen auflisten.
Mit PITR wiederherstellen
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
- source-instance-deletion-time: Der Zeitpunkt, zu dem die Quellinstanz gelöscht wurde.
- restore-timestamp: der Zeitpunkt, zu dem die Instanz wiederhergestellt werden soll
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
JSON-Text anfordern:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
REST v1beta4
Zeitfenster für die Wiederherstellung zu einem bestimmten Zeitpunkt finden
Um das PITR-Zeitfenster Ihrer gelöschten Instanz zu ermitteln, rufen Sie die früheste und späteste Wiederherstellungszeit für Ihre Instanz ab. Sie können in diesem Fenster einen beliebigen Zeitstempel auswählen, um PITR durchzuführen.
Löschzeitpunkt der Quellinstanz und Anzahl der Tage für die Logaufbewahrung ermitteln
Die source-instance-deletion-time und log-retention-days für die gelöschte Instanz werden nach dem Löschen mit den beibehaltenen Sicherungen für Ihre Instanz gespeichert. Informationen zum Ermitteln dieser Werte für Ihre gelöschte Instanz finden Sie unter Beibehaltene Sicherungen auflisten.
Mit PITR wiederherstellen
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
- source-instance-deletion-time: Der Zeitpunkt, zu dem die Quellinstanz gelöscht wurde.
- restore-timestamp: der Zeitpunkt, zu dem die Instanz wiederhergestellt werden soll
In der JSON-Anfrage können Sie optional bis zu einem bestimmten Datenbanknamen so angeben: "databaseNames": "my-database"
HTTP-Methode und URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
JSON-Text anfordern:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Frühesten und spätesten Wiederherstellungszeitpunkt abrufen
Für eine verfügbare Instanz können Sie eine PITR für einen beliebigen Zeitstempel im PITR-Zeitfenster der Instanz ausführen. Das PITR-Zeitfenster beginnt mit der frühesten und endet mit der spätesten Wiederherstellungszeit. Wenn die Instanz nicht verfügbar ist und die Instanzlogs in Cloud Storage gespeichert sind oder die Instanz gelöscht wurde und die PITR-Aufbewahrung aktiviert war, können Sie den frühesten und neuesten Wiederherstellungszeitpunkt abrufen und die PITR für einen beliebigen Zeitstempel in diesem Zeitraum ausführen. In allen Fällen können Sie die Instanz in einer anderen primären oder sekundären Zone wiederherstellen. Dazu geben Sie Werte für die bevorzugten Zonen an.
gcloud
Nicht verfügbare Instanz
Führen Sie den folgenden Befehl aus, um den frühesten und spätesten Zeitpunkt abzurufen, zu dem Sie eine nicht verfügbare Cloud SQL-Instanz wiederherstellen können:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
Ersetzen Sie Folgendes:
INSTANCE_NAME: der Name der Instanz, für die Sie den neuesten Wiederherstellungszeitpunkt abrufen möchten.
Gelöschte Instanz
Führen Sie den folgenden Befehl aus, um den frühesten und spätesten Zeitpunkt abzurufen, zu dem Sie eine gelöschte Cloud SQL-Instanz wiederherstellen können:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'
Ersetzen Sie Folgendes:
INSTANCE_NAME: der Name der Instanz, für die Sie den neuesten Wiederherstellungszeitpunkt abrufen möchten.SOURCE_INSTANCE_DELETION_TIMESTAMP: der UTC-Zeitstempel für den Zeitpunkt, zu dem die Quellinstanz gelöscht wurde, im RFC 3339-Format. Beispiel: 2012-11-15T16:19:00.094Z.
REST Version 1
Nicht verfügbare Instanz
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die Projekt-ID
- INSTANCE_NAME: der Name der Instanz, für die Sie den neuesten Wiederherstellungszeitpunkt abfragen
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Gelöschte Instanz
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die Projekt-ID
- INSTANCE_NAME: der Name der Quellinstanz, für die Sie den neuesten Wiederherstellungszeitpunkt abfragen
- SOURCE_INSTANCE_DELETION_TIME: die Zeit, zu der die Quellinstanz gelöscht wurde
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
REST v1beta4
Nicht verfügbare Instanz
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die Projekt-ID
- INSTANCE_NAME: der Name der Instanz, für die Sie den neuesten Wiederherstellungszeitpunkt abfragen
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Gelöschte Instanz
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die Projekt-ID
- INSTANCE_NAME: der Name der Quellinstanz, für die Sie den neuesten Wiederherstellungszeitpunkt abfragen
- SOURCE_INSTANCE_DELETION_TIME: die Zeit, zu der die Quellinstanz gelöscht wurde
HTTP-Methode und URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Fehlerbehebung
| Problem | Fehlerbehebung |
|---|---|
|
ODER
|
Der von Ihnen angegebene Zeitstempel ist ungültig. |
|
ODER
|
Der angegebene Zeitstempel gilt für einen Zeitpunkt, an dem keine Sicherungen oder binlog-Koordinaten gefunden wurden. |