Effectuer une récupération à un moment précis (PITR)

Vous pouvez utiliser la récupération à un moment précis (PITR) pour restaurer vos instances Cloud SQL principales, qu'elles soient actives ou supprimées. La récupération à un moment précis vous permet de restaurer l'instance à un moment spécifique. Pour une instance supprimée, vous pouvez la restaurer à un moment précis sur une instance nouvelle ou existante.

Cloud SQL propose les options suivantes pour restaurer votre instance à l'aide de la récupération à un moment précis :

Pour effectuer une récupération à un moment précis sur une instance indisponible ou supprimée, vous devez trouver la dernière et la première heure de récupération.

Effectuer une récupération PITR à l'aide d'un horodatage

L'utilisation d'un code temporel est l'approche recommandée pour effectuer une récupération à un moment précis. Cloud SQL utilise l'utilitaire mysqlbinlog pour restaurer les instances à une heure précise. Pour en savoir plus sur l'utilitaire mysqlbinlog, consultez la documentation de référence MySQL.

Pour effectuer la tâche suivante, vous devez disposer des éléments suivants :

  • Journalisation binaire et sauvegardes de l'instance activées, avec journalisation binaire continue depuis la dernière sauvegarde précédant l'événement à partir duquel vous souhaitez effectuer la récupération. Pour en savoir plus, consultez la section Activer la journalisation binaire.
  • Horodatage permettant de définir le point de récupération. Les événements qui se produisent au moment et après cet horodatage ne sont pas reflétés dans la nouvelle instance.

Console

  1. Dans la console Google Cloud , accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Ouvrez le menu "Autres actions" Icône Plus pour l'instance que vous souhaitez récupérer, puis cliquez sur Créer un clone.
  3. Vous pouvez également mettre à jour l'ID du nouveau clone sur la page Créer un clone.
  4. Sélectionnez Cloner à partir d'un moment antérieur.
  5. Saisissez la date et l'heure de la récupération PITR.
  6. Cliquez sur Create clone (Créer un clone).

gcloud

Créez un clone à l'aide de la récupération PITR.

Remplacez les éléments suivants :

  • SOURCE_INSTANCE_NAME : nom de l'instance à partir de laquelle vous effectuez la restauration.
  • NEW_INSTANCE_NAME : nom du clone.
  • TIMESTAMP : fuseau horaire UTC de l'instance source au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP'

REST v1

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • project-id : ID du projet
  • target-instance-id : ID de l'instance cible
  • source-instance-id : ID de l'instance source
  • restore-timestamp : moment jusqu'auquel effectuer la restauration

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

REST v1beta4

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • project-id : ID du projet
  • target-instance-id : ID de l'instance cible
  • source-instance-id : ID de l'instance source
  • restore-timestamp : moment jusqu'auquel effectuer la restauration

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

Effectuer une récupération PITR à l'aide du coffre de sauvegarde

Si votre instance Cloud SQL est activée pour utiliser les sauvegardes améliorées, vous pouvez effectuer une récupération à un moment précis pour votre instance à l'aide du parc de sauvegarde.

Console

  1. Dans la console Google Cloud , accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Ouvrez le menu "Autres actions" Icône Plus pour l'instance que vous souhaitez récupérer, puis cliquez sur Créer un clone.

  3. Sélectionnez Cloner à partir d'un moment antérieur.

  4. Saisissez la date et l'heure de la récupération PITR.

  5. Cliquez sur Create clone (Créer un clone).

gcloud

Pour effectuer une récupération à un moment précis (PITR) sur une instance à partir du coffre de sauvegarde, vous devez trouver le data-source de la sauvegarde la plus proche de l'heure à laquelle vous souhaitez effectuer la récupération PITR. Pour trouver la sauvegarde, consultez Lister toutes les sauvegardes du backup vault pour une instance. Une fois la sauvegarde identifiée, exécutez la commande suivante pour effectuer la récupération à un instant donné :

gcloud sql instances point-in-time-restore DATA_SOURCE
PITR_TIMESTAMP
--project=TARGET_PROJECT

Remplacez les éléments suivants :

  • DATA_SOURCE : chemin d'accès du data-source de la sauvegarde la plus proche de l'horodatage PITR vers lequel vous souhaitez effectuer la récupération.
  • PITR_TIMESTAMP : code temporel UTC du journal PITR de l'instance source à laquelle vous souhaitez restaurer votre instance, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.
  • TARGET_PROJECT : ID de projet de votre instance Cloud SQL.

REST v1

REST v1beta4

Effectuer une récupération PITR sur une instance indisponible

Console

Vous pouvez restaurer une instance indisponible dans une autre zone pour l'une des raisons suivantes :

  • La zone actuelle dans laquelle l'instance est configurée n'est pas accessible. L'état de cette instance est FAILED.
  • L'instance est en cours de maintenance. L'état de cette instance est MAINTENANCE.

Pour restaurer une instance indisponible, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Recherchez la ligne de l'instance à cloner.
  3. Dans la colonne Actions, cliquez sur le menu Autres actions.
  4. Cliquez sur Create clone (Créer un clone).
  5. Sur la page Créer un clone, procédez comme suit :
    1. Dans le champ ID d'instance, mettez à jour l'ID d'instance si nécessaire.
    2. Cliquez sur Cloner l'instance à un moment antérieur.
    3. Dans le champ Moment précis, sélectionnez la date et l'heure à partir desquelles vous souhaitez cloner les données. Il est ainsi possible de récupérer l'état de l'instance à ce moment précis.
    4. Cliquez sur Créer un clone.
  6. Pendant l'initialisation du clone, vous êtes redirigé vers la page contenant la liste des instances.

gcloud

Vous pouvez restaurer une instance indisponible dans une autre zone, car la zone dans laquelle l'instance est configurée n'est pas accessible.

gcloud sql instances clone SOURCE_INSTANCE_NAME TARGET_INSTANCE_NAME \
--point-in-time DATE_AND_TIME_STAMP \
--preferred-zone ZONE_NAME \
--preferred-secondary-zone SECONDARY_ZONE_NAME

L'utilisateur ou le compte de service qui exécute la commande gcloud sql instances clone doit disposer de l'autorisation cloudsql.instances.clone. Pour en savoir plus sur les autorisations requises pour exécuter des commandes gcloud CLI, consultez Autorisations Cloud SQL.

REST v1

Vous pouvez restaurer une instance indisponible dans une autre zone, car la zone dans laquelle l'instance est configurée n'est pas accessible.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • SOURCE_INSTANCE_ID : ID de l'instance source
  • TARGET_INSTANCE_ID : ID de l'instance cible

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/SOURCE_INSTANCE_NAME/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "destinationInstanceName": "TARGET_INSTANCE_ID"
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

L'utilisateur ou le compte de service qui utilise la méthode API instances.clone doit disposer de l'autorisation cloudsql.instances.clone. Pour en savoir plus sur les autorisations requises pour utiliser des méthodes d'API, consultez la page Autorisations Cloud SQL.

REST v1beta4

Vous pouvez restaurer une instance indisponible dans une autre zone, car la zone dans laquelle l'instance est configurée n'est pas accessible.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • SOURCE_INSTANCE_ID : ID de l'instance source
  • TARGET_INSTANCE_ID : ID de l'instance cible

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/SOURCE_INSTANCE_NAME/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "destinationInstanceName": "TARGET_INSTANCE_ID"
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

L'utilisateur ou le compte de service qui utilise la méthode API instances.clone doit disposer de l'autorisation cloudsql.instances.clone. Pour en savoir plus sur les autorisations requises pour utiliser des méthodes d'API, consultez la page Autorisations Cloud SQL.

Si vous essayez de créer un clone PITR à un moment postérieur à la dernière heure récupérable, le message d'erreur suivant s'affiche :

The timestamp for point-in-time recovery is after the latest recovery time of
Timestamp of latest recovery time. Clone the instance with a time
that's earlier than this recovery time.

Effectuer une récupération PITR sur une instance supprimée

Pour utiliser la récupération à un moment précis (PITR) afin de restaurer une instance supprimée, vous devez disposer des éléments suivants :

  • le code temporel PITR (timestamp) auquel vous souhaitez restaurer votre instance.
  • le nom de l'instance cible ;
  • l'heure à laquelle l'instance source a été supprimée (source-instance-deletion-time).

Vous ne pouvez utiliser la restauration à un moment donné sur une instance supprimée qu'avec gcloud CLI ou l'API Cloud SQL. Pour en savoir plus, consultez Restaurer une instance supprimée à l'aide de la récupération à un moment précis.

gcloud

Trouver votre fenêtre de récupération PITR

Pour trouver la période de récupération PITR de votre instance supprimée, obtenez l'heure de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner un code temporel "à tout moment" dans cette fenêtre pour effectuer une restauration à un point dans le temps.

Trouver la date de suppression de l'instance source et le nombre de jours de conservation des journaux

Les source-instance-deletion-time et log-retention-days de l'instance supprimée sont stockés avec les sauvegardes conservées pour votre instance après la suppression. Pour trouver ces valeurs pour votre instance supprimée, consultez Lister les sauvegardes conservées.

Restaurer à l'aide de la récupération PITR

Pour restaurer votre instance supprimée à l'aide d'une récupération à un moment précis, exécutez la commande suivante :

gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP

Remplacez les éléments suivants :

  • SOURCE_INSTANCE_NAME : nom de l'instance source que vous souhaitez restaurer.
  • NEW_INSTANCE_NAME : le nom de la nouvelle instance
  • PITR_TIMESTAMP : code temporel UTC du journal PITR de l'instance source à laquelle vous souhaitez restaurer votre instance, au format RFC 3339. Par exemple, 2012-11-15T16:19:00.094Z.
  • SOURCE_INSTANCE_DELETION_TIMESTAMP : code temporel UTC de l'heure à laquelle l'instance source a été supprimée, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.

REST v1

Trouver votre fenêtre de récupération PITR

Pour trouver la période de récupération PITR de votre instance supprimée, obtenez l'heure de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner un code temporel "à tout moment" dans cette fenêtre pour effectuer une restauration à un point dans le temps.

Trouver la date de suppression de l'instance source et le nombre de jours de conservation des journaux

Les source-instance-deletion-time et log-retention-days de l'instance supprimée sont stockés avec les sauvegardes conservées pour votre instance après la suppression. Pour trouver ces valeurs pour votre instance supprimée, consultez Lister les sauvegardes conservées.

Restaurer à l'aide de la récupération PITR

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • project-id : ID du projet
  • target-instance-id : ID de l'instance cible
  • source-instance-id : ID de l'instance source
  • source-instance-deletion-time : heure de suppression de l'instance source
  • restore-timestamp : moment auquel vous souhaitez restaurer l'instance

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "sourceInstanceDeletionTime: "source-instance-deletion-time",
    "pointInTime": "restore-timestamp"
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

REST v1beta4

Trouver votre fenêtre de récupération PITR

Pour trouver la période de récupération PITR de votre instance supprimée, obtenez l'heure de récupération la plus ancienne et la plus récente pour votre instance. Vous pouvez sélectionner un code temporel à tout moment dans cette fenêtre pour effectuer une restauration à un point dans le temps.

Trouver la date de suppression de l'instance source et le nombre de jours de conservation des journaux

Les source-instance-deletion-time et log-retention-days de l'instance supprimée sont stockés avec les sauvegardes conservées pour votre instance après la suppression. Pour trouver ces valeurs pour votre instance supprimée, consultez Lister les sauvegardes conservées.

Restaurer à l'aide de la récupération PITR

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • project-id : ID du projet
  • target-instance-id : ID de l'instance cible
  • source-instance-id : ID de l'instance source
  • source-instance-deletion-time : heure de suppression de l'instance source
  • restore-timestamp : moment auquel vous souhaitez restaurer l'instance

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "sourceInstanceDeletionTime: "source-instance-deletion-time",
    "pointInTime": "restore-timestamp"
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

Effectuer une récupération PITR à l'aide des positions dans les journaux binaires

Bien que nous vous recommandions d'effectuer la récupération PITR à l'aide des horodatages, comme décrit dans la section Effectuer une récupération PITR à l'aide d'un horodatage, vous pouvez également procéder en indiquant une position spécifique dans un journal binaire (position d'événement).

Pour en savoir plus sur la récupération PITR à l'aide des positions dans les journaux binaires, consultez la section Récupération PITR à l'aide du journal binaire.

Avant de commencer

Avant d'effectuer cette tâche, vous devez disposer des éléments suivants :

  • Journalisation binaire et sauvegardes de l'instance activées, avec journalisation binaire continue depuis la dernière sauvegarde précédant l'événement à partir duquel vous souhaitez effectuer la récupération Pour en savoir plus, consultez la section Activer la journalisation binaire.

  • Les journaux binaires doivent être disponibles sur le disque pour que vous puissiez les parcourir à la recherche d'événements. Pour vérifier la durée de conservation de vos journaux binaires sur le disque, consultez la section Durée de conservation des journaux. Vous ne pouvez pas parcourir les journaux binaires stockés dans Cloud Storage avec l'utilitaire mysqlbinlog.

  • Nom du fichier journal binaire et position de l'événement à partir duquel vous souhaitez effectuer la récupération (cet événement et tous ceux qui ont eu lieu après ne seront pas répercutés sur la nouvelle instance) Pour en savoir plus, consultez la section Identifier la position dans le journal binaire.

    Après avoir identifié le nom de fichier du journal binaire et la position, effectuez la récupération PITR à l'aide des positions d'événements dans les journaux binaires.

Identifier la position de récupération

  1. Utilisez le client MySQL pour vous connecter à l'instance que vous souhaitez restaurer.

    Pour ce faire, utilisez Cloud Shell ou votre ordinateur client local. Pour en savoir plus, consultez la page Options de connexion pour les applications externes.

  2. Affichez les fichiers journaux binaires de l'instance :

    SHOW BINARY LOGS;
    
  3. Affichez les 100 premiers événements dans le fichier journal binaire le plus récent :

    SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' LIMIT 100;
    

    Vous pouvez ajuster le nombre de lignes à afficher, mais vous ne devez pas afficher tous les événements du fichier tant que vous ne connaissez pas la taille du fichier. L'affichage d'un grand nombre d'événements peut affecter les performances du système.

  4. Si l'événement que vous recherchez n'est pas affiché, utilisez la dernière position affichée comme point de départ pour rechercher la série d'événements suivante :

    SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' FROM <POSITION> LIMIT 100;
    
  5. Une fois que vous avez trouvé l'événement qui marque le moment jusqu'auquel vous souhaitez restaurer, enregistrez la position (affichée dans la colonne Pos) et le nom du fichier journal binaire.

    Le nom du fichier journal binaire et la position vont vous permettre d'effectuer la récupération PITR.

Voici un exemple de résultat de la commande SHOW BINLOG EVENTS :

+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                                |
+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+
| mysql-bin.000011 |   4 | Format_desc |  88955285 |         120 | Server ver: 5.6.30-log, Binlog ver: 4               |
| mysql-bin.000011 | 120 | Query       |  88955285 |         211 | create database db1                                 |
| mysql-bin.000011 | 211 | Query       |  88955285 |         310 | use `db1`; CREATE TABLE t (c CHAR(20))              |
| mysql-bin.000011 | 310 | Query       |  88955285 |         381 | BEGIN                                               |
| mysql-bin.000011 | 381 | Table_map   |  88955285 |         426 | table_id: 18 (db1.t)                                |
| mysql-bin.000011 | 310 | Query       |  88955285 |         381 | BEGIN                                               |

| mysql-bin.000011 | 426 | Write_rows  |  88955285 |         464 | table_id: 18 flags: STMT_END_F                      |
| mysql-bin.000011 | 464 | Xid         |  88955285 |         495 | COMMIT /* xid=56 */                                 |
| mysql-bin.000011 | 495 | Query       |  88955285 |         566 | BEGIN                                               |
| mysql-bin.000011 | 566 | Table_map   |  88955285 |         611 | table_id: 18 (db1.t)                                |
| mysql-bin.000011 | 611 | Write_rows  |  88955285 |         649 | table_id: 18 flags: STMT_END_F                      |
| mysql-bin.000011 | 649 | Xid         |  88955285 |         680 | COMMIT /* xid=57 */                                 |
| mysql-bin.000011 | 680 | Query       |  88955285 |         751 | BEGIN                                               |
| mysql-bin.000011 | 751 | Table_map   |  88955285 |         796 | table_id: 18 (db1.t)                                |
| mysql-bin.000011 | 796 | Write_rows  |  88955285 |         834 | table_id: 18 flags: STMT_END_F                      |
| mysql-bin.000011 | 834 | Xid         |  88955285 |         865 | COMMIT /* xid=58 */                                 |
| mysql-bin.000011 | 865 | Query       |  88955285 |         977 | use `db1`; DROP TABLE `t` /* generated by server */ |
+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+
16 rows in set (0.04 sec)

Pour effectuer une restauration jusqu'à l'instruction DROP TABLE, en gras dans l'exemple précédent, vous devez utiliser 865 dans mysql-bin.000011 comme position de récupération. L'instruction DROP TABLE et toutes les opérations après celle-ci ne sont pas répercutées dans la nouvelle instance.

Effectuer une récupération PITR à l'aide des positions d'événements dans les journaux binaires

gcloud

Exécutez la commande gcloud sql instances clone avec les options --bin-log-file-name et --bin-log-position.

  1. Créez la nouvelle instance en utilisant le nom du fichier journal binaire et la position de récupération.

    Remplacez les éléments suivants :

    • SOURCE_INSTANCE_NAME : nom de l'instance à partir de laquelle vous effectuez la restauration.
    • NEW_INSTANCE_NAME : nom du clone.
    • BINLOG_FILE_NAME : nom du journal binaire, par exemple mysql-bin.187288.
    • POSITION : position dans le journal binaire jusqu'à laquelle restaurer, par exemple 50001356.
    gcloud sql instances clone SOURCE_INSTANCE_NAME \
    NEW_INSTANCE_NAME \
    --bin-log-file-name="BINLOG_FILE_NAME" \
    --bin-log-position=POSITION

    Par exemple, une commande gcloud sql instances clone peut ressembler à ce qui suit :

    gcloud sql instances clone instance1 \
    instance1-clone \
    --bin-log-file-name=mysql-bin.0000031 \
    --bin-log-position=107 \
  2. Utilisez l'ID d'opération renvoyé par la commande clone pour vérifier l'état de l'opération de restauration.
    gcloud sql operations describe OPERATION_ID

    Pendant l'opération en cours, un état RUNNING est renvoyé. Une fois l'opération terminée, un état DONE est renvoyé.

REST v1

Créez la nouvelle instance en utilisant le nom du fichier journal binaire et la position de récupération que vous avez identifiés :

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • project-id : ID du projet
  • target-instance-id : ID de l'instance cible
  • source-instance-id : ID de l'instance source
  • binary-log-file-name : nom du fichier journal binaire
  • binary-log-position : position dans le fichier journal binaire

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "binLogCoordinates":
    {
      "kind": "sql#binLogCoordinates",
      "binLogFileName": "binary-log-file-name",
      "binLogPosition": "binary-log-position"
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

REST v1beta4

Créez la nouvelle instance en utilisant le nom du fichier journal binaire et la position de récupération que vous avez identifiés :

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • project-id : ID du projet
  • target-instance-id : ID de l'instance cible
  • source-instance-id : ID de l'instance source
  • binary-log-file-name : nom du fichier journal binaire
  • binary-log-position : position dans le fichier journal binaire

Méthode HTTP et URL :

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Corps JSON de la requête :

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "binLogCoordinates":
    {
      "kind": "sql#binLogCoordinates",
      "binLogFileName": "binary-log-file-name",
      "binLogPosition": "binary-log-position"
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

Obtenir l'heure de récupération la plus tôt et la plus tard

Pour une instance disponible, vous pouvez effectuer une récupération PITR à n'importe quel code temporel de la période de récupération PITR de l'instance. La fenêtre PITR commence à l'heure de récupération la plus ancienne et se termine à l'heure de récupération la plus récente. Si l'instance n'est pas disponible et que les journaux d'instance sont stockés dans Cloud Storage, ou si l'instance a été supprimée et que la période de conservation PITR était activée, vous pouvez récupérer la première et la dernière heure de récupération, et effectuer la récupération PITR à n'importe quel code temporel de cette période. Dans tous les cas, vous pouvez restaurer l'instance dans une autre zone principale ou secondaire en indiquant des valeurs pour les zones de votre choix.

gcloud

Instance indisponible

Pour obtenir l'heure la plus ancienne et la plus récente à laquelle vous pouvez récupérer une instance Cloud SQL indisponible, exécutez la commande suivante :

gcloud sql instances get-latest-recovery-time INSTANCE_NAME

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance pour laquelle vous souhaitez connaître la dernière heure de récupération.

Instance supprimée

Pour obtenir l'heure la plus ancienne et la plus récente à laquelle vous pouvez récupérer une instance Cloud SQL supprimée, exécutez la commande suivante :

gcloud sql instances get-latest-recovery-time INSTANCE_NAME
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance pour laquelle vous souhaitez connaître la dernière heure de récupération.
  • SOURCE_INSTANCE_DELETION_TIMESTAMP : code temporel UTC de l'heure à laquelle l'instance source a été supprimée, au format RFC 3339. Exemple : 2012-11-15T16:19:00.094Z.

REST v1

Instance indisponible

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_NAME : nom de l'instance pour laquelle vous interrogez l'heure de la dernière récupération

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Instance supprimée

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_NAME : nom de l'instance source pour laquelle vous interrogez l'heure de la dernière récupération
  • SOURCE_INSTANCE_DELETION_TIME : heure à laquelle l'instance source a été supprimée

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

REST v1beta4

Instance indisponible

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_NAME : nom de l'instance pour laquelle vous interrogez l'heure de la dernière récupération

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Instance supprimée

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID du projet
  • INSTANCE_NAME : nom de l'instance source pour laquelle vous interrogez l'heure de la dernière récupération
  • SOURCE_INSTANCE_DELETION_TIME : heure à laquelle l'instance source a été supprimée

Méthode HTTP et URL :

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Résoudre les problèmes

Problème Dépannage

argument --point-in-time: Failed to parse date/time:
Unknown string format: 2021-0928T30:54:03.094;
received: 2021-0928T30:54:03.094Z

OU

Invalid value at 'body.clone_context.point_in_time'
(type.googleapis.com/google.protobuf.Timestamp), Field 'pointInTime',
Invalid time format: Failed to parse input,

Le code temporel que vous avez fourni n'est pas valide.

HTTP Error 400: Successful backup required for carrying out the operation was not found.

OU

Successful backup required for carrying out the operation was not found. or Time where no backups can be found.

L'horodatage que vous avez fourni correspond à un moment où les sauvegardes ou les coordonnées du journal binaire sont introuvables.

Étapes suivantes