Cette page explique comment restaurer une instance à partir d'une sauvegarde.
Pour en savoir plus sur les opérations de restauration, ainsi que pour connaître les bonnes pratiques et les conditions requises les concernant, consultez la page Présentation de la restauration d'une instance.
Restaurer une instance à partir d'une sauvegarde
Vous pouvez utiliser une sauvegarde pour restaurer l'instance à partir de laquelle la sauvegarde a été effectuée ou pour restaurer une autre instance dans le même projet.
Effectuer une restauration sur une autre instance
Lorsque vous effectuez une restauration à partir d'une sauvegarde sur une autre instance, les données de l'instance cible sont mises à jour selon l'état de l'instance source au moment de la sauvegarde. Pour en savoir plus, consultez les sections Conseils généraux pour effectuer une restauration et Conseils et prérequis pour restaurer sur une autre instance.
Si vous avez besoin d'une liste de sauvegardes pour le projet et que vous ne pouvez pas les consulter sur la page de présentation de l'instance en raison d'une panne, vous pouvez utiliser l'API backupRuns.list
avec un caractère générique (-
). Cette option permet de récupérer la liste de toutes les sauvegardes de toutes les instances du projet. Pour en savoir plus, consultez la section Afficher les sauvegardes en cas de panne.
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
-
Si l'instance cible comporte des instances dupliquées avec accès en lecture, supprimez-les depuis le menu "Autres actions"
, à l'extrême droite.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Sauvegardes.
- Recherchez la sauvegarde à partir de laquelle vous souhaitez effectuer la restauration, puis sélectionnez Restaurer.
- Sur la page Restaurer une instance à partir d'une sauvegarde, vérifiez que vous avez sélectionné la bonne sauvegarde dans la section Vérifier les détails de la sauvegarde.
- Dans Choisir la destination de la restauration, sélectionnez Écraser une instance existante.
- Dans le menu déroulant Instance, sélectionnez l'instance à utiliser pour la restauration. L'instance que vous sélectionnez et toutes ses données sont écrasées.
- Pour confirmer votre sélection, saisissez le nom de l'instance à écraser dans le champ ID de l'instance de destination.
- Pour démarrer le processus de restauration, cliquez sur Restaurer.
- Accédez à l'onglet Opérations de l'instance cible pour vérifier l'état de l'opération de restauration.
- Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.
-
Décrivez l'instance cible pour vérifier la présence éventuelle d'instances dupliquées :
gcloud sql instances describe
TARGET_INSTANCE_NAME Notez toutes les instances listées dans
replicaNames
. -
Supprimez toutes les instances dupliquées :
gcloud sql instances delete
REPLICA_NAME Répétez l'opération pour chaque instance dupliquée.
-
Répertoriez les sauvegardes de l'instance source :
gcloud sql backups list \ --instance
SOURCE_INSTANCE_NAME -
Recherchez la sauvegarde que vous souhaitez utiliser, puis enregistrez sa valeur
ID
. - Restaurez à partir de la sauvegarde spécifiée sur l'instance cible :
gcloud sql backups restore
BACKUP_ID \ --restore-instance=TARGET_INSTANCE_NAME \ --backup-instance=SOURCE_INSTANCE_NAME - Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.
-
Répertoriez toutes les instances dupliquées de l'instance cible.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=replicaNamesPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "replicaNames": [ "
replica-name " ] } -
Supprimez toutes les instances dupliquées.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- replica-id : ID de l'instance dupliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/v1/projects/
project-id /instances/replica-id Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/replica-id "PowerShell (Windows)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " }Répétez l'opération pour chaque instance dupliquée.
- Répertoriez les sauvegardes de l'instance source pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /backupRunsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
-OU- Si votre instance se trouve dans une région ayant subi une panne, répertoriez toutes les sauvegardes d'un projet :Réponse
{ "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" }Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID d'instance, ou
-
pour obtenir la liste de toutes les sauvegardes du projet.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/-/backupRunsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/-/backupRuns"PowerShell (Windows)
Exécutez la commande suivante :
$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/-/backupRuns" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
Recherchez la sauvegarde de l'instance à restaurer.Réponse
{ "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" "backupKind": "SNAPSHOT" } -
Restaurez l'instance cible à partir de la sauvegarde.
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
- backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/
project-id /instances/target-instance-id /restoreBackupCorps JSON de la requête :
{ "restoreBackupContext": { "backupRunId":
backup-id , "instanceId": "source-instance-id " } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :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)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " } - Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.
-
Répertoriez toutes les instances dupliquées de l'instance cible.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=replicaNamesPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "replicaNames": [ "
replica-name " ] } -
Supprimez toutes les instances dupliquées.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- replica-id : ID de l'instance dupliquée
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/replica-id Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " }Répétez l'opération pour chaque instance dupliquée.
- Répertoriez les sauvegardes de l'instance source pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /backupRunsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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" } -
Restaurez l'instance cible à partir de la sauvegarde.
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
- backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/target-instance-id /restoreBackupCorps JSON de la requête :
{ "restoreBackupContext": { "backupRunId":
backup-id , "instanceId": "source-instance-id " } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :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)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " } - Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.
Effectuer une restauration sur la même instance
Lorsque vous effectuez une restauration à partir d'une sauvegarde sur la même instance, les données de cette instance sont rétablies à l'état existant au moment de la sauvegarde. Pour en savoir plus sur la restauration d'une instance, consultez la section Conseils généraux pour effectuer une restauration.
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
-
Si l'instance cible comporte des instances dupliquées avec accès en lecture, supprimez-les depuis le menu "Autres actions"
, à l'extrême droite.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Sauvegardes.
- Recherchez la sauvegarde que vous souhaitez utiliser, puis sélectionnez Restaurer.
- Sur la page Restaurer une instance à partir d'une sauvegarde, vérifiez que vous avez sélectionné la bonne sauvegarde dans la section Vérifier les détails de la sauvegarde.
- Dans Choisir la destination de la restauration, sélectionnez Écraser l'instance source.
Vérifiez que le nom de l'instance source est spécifié entre parenthèses.
- Pour confirmer votre sélection, saisissez le nom de l'instance dans le champ ID de l'instance de destination.
- Pour démarrer le processus de restauration, cliquez sur Restaurer.
- Accédez à la page Opérations de l'instance pour vérifier l'état de l'opération de restauration.
- Une fois l'opération de restauration terminée, recréez les instances répliquées qui ont été supprimées lors de la première étape.
-
Décrivez l'instance pour vérifier la présence éventuelle d'instances dupliquées :
gcloud sql instances describe
INSTANCE_NAME Notez toutes les instances listées dans
replicaNames
. -
Supprimez toutes les instances dupliquées :
gcloud sql instances delete
REPLICA_NAME Répétez l'opération pour toutes les instances dupliquées.
-
Répertoriez les sauvegardes de l'instance :
gcloud sql backups list --instance
INSTANCE_NAME -
Recherchez la sauvegarde que vous souhaitez utiliser, puis enregistrez sa valeur
ID
. - Restaurez l'instance à partir de la sauvegarde spécifiée :
gcloud sql backups restore
BACKUP_ID \ --restore-instance=INSTANCE_NAME - Une fois l'opération de restauration terminée, recréez les instances dupliquées qui ont été supprimées lors de la première étape.
-
Répertoriez les sauvegardes de l'instance pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /backupRunsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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" } -
Restaurez l'instance à partir de la sauvegarde.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /restoreBackupCorps JSON de la requête :
{ "restoreBackupContext": { "backupRunId": "
backup-id ", } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :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)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " } - Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.
-
Répertoriez les sauvegardes de l'instance pour obtenir l'identifiant de la sauvegarde que vous souhaitez utiliser.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /backupRunsPour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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" } -
Restaurez l'instance à partir de la sauvegarde.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /restoreBackupCorps JSON de la requête :
{ "restoreBackupContext": { "backupRunId": "
backup-id ", } }Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :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)
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$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 ContentVous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " } - Une fois l'opération de restauration terminée, recréez les instances dupliquées que vous avez supprimées précédemment.
Effectuer une restauration sur une instance d'un autre projet
Le paramètre project
vous permet de restaurer des données sur une instance d'un autre projet que celui où la sauvegarde a été effectuée. Lorsque vous utilisez le paramètre project
, appelez restoreBackup
dans le projet et sur l'instance sur laquelle vous souhaitez restaurer les données. Lorsque vous effectuez une restauration à partir d'une sauvegarde sur une autre instance, les données de l'instance cible sont mises à jour selon l'état de l'instance source au moment de la sauvegarde.
Autorisations
L'utilisateur qui restaure sur un autre projet doit disposer des autorisations cloudsql.instances.restoreBackup
pour le projet cible et cloudsql.backupRuns.get
pour l'instance source.
Ces autorisations sont incluses dans le rôle Cloud SQL Admin
.
Pour restaurer les données sur une instance d'un autre projet :
Pour obtenir l'identifiant backupId
, exécutez la commande suivante.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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" }
Restaurez la sauvegarde sur une instance dans un autre projet :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- source-project-id : ID du projet source
- target-project-id : ID du projet cible
- target-instance-id : ID de l'instance cible
- source-instance-id : ID de l'instance source
- backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup
Corps JSON de la requête :
{ "restoreBackupContext": { "backupRunId":backup-id , "project": "source-project-id ", "instanceId": "source-instance-id " } }
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " }
project
, consultez la section sur
restoreBackup
backupId
, exécutez la commande suivante.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
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)
Exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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" }
Restaurez la sauvegarde sur une instance dans un autre projet :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- source-project-id : ID du projet source
- target-project-id : ID du projet cible
- target-instance-id : ID de l'instance cible
- source-instance-id : ID de l'instance source
- backup-id : ID de la sauvegarde
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup
Corps JSON de la requête :
{ "restoreBackupContext": { "backupRunId":backup-id , "project": "source-project-id ", "instanceId": "source-instance-id " } }
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
Réponse
{ "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 " }
project
, consultez la section sur
restoreBackup
Effectuer une récupération à un moment précis
Pour effectuer une récupération à un moment précis, consultez la section Récupération à un moment précis.
Étapes suivantes
- Obtenez plus d'informations sur la restauration.
- Obtenez plus d'informations sur la sauvegarde des données.
- Découvrez comment sauvegarder vos données.