Exporter des données

Cette page explique comment exporter des données à partir d'instances Cloud SQL.

Pour exporter des données vers Cloud Storage, le compte de service de l'instance doit avoir le rôle IAM storage.objectAdmin défini dans le projet. Pour plus d'informations, consultez la page Cloud Identity and Access Management pour Cloud Storage.

Les exportations utilisent des ressources de base de données, mais elles n'interfèrent pas avec les opérations de base de données normales, sauf si l'instance est sous-provisionnée.

Pour obtenir des conseils en termes d'exportation de données, consultez la page Bonnes pratiques pour l'importation et l'exportation de données.

Pour obtenir des conseils en matière d'exportation de données, consultez la page Bonnes pratiques pour l'importation et l'exportation de données.

Exporter des données de Cloud SQL vers un fichier BAK

Avant de commencer

Cette procédure nécessite l'exportation d'un fichier vers Cloud Storage. Pour exporter des données vers Cloud Storage, le compte de service de l'instance doit disposer des rôles IAM storage.objectAdmin définis dans le projet. Pour obtenir de l'aide sur les rôles IAM, consultez la page Cloud Identity and Access Management pour Cloud Storage.

Vous trouverez le nom du compte de service de l'instance dans Google Cloud Console sur la page Présentation de votre instance. Pour vérifier les rôles de votre bucket Cloud Storage, servez-vous de l'outil gsutil pour inspecter le bucket :

gsutil iam get gs://[BUCKET_NAME]

En savoir plus sur l'utilisation d'IAM avec des buckets

Exporter des données vers un fichier BAK dans Cloud Storage

Pour exporter des données d'une base de données sur une instance Cloud SQL vers un fichier BAK dans un bucket Cloud Storage, procédez comme suit :

Console

  1. Accédez à la page "Instances Cloud SQL" dans Google Cloud Console.

    Accéder à la page Instances Cloud SQL

  2. Cliquez sur l'instance à partir de laquelle vous souhaitez exporter des données pour ouvrir la page Présentation correspondante.
  3. Dans la barre de boutons, cliquez sur EXPORTER.
  4. Sous Format de fichier, cliquez sur BAK.
  5. Sous Données à exporter, sélectionnez la base de données à utiliser pour l'exportation dans le menu déroulant.
  6. Sous Destination, sélectionnez Parcourir pour rechercher un bucket ou un dossier Cloud Storage pour l'exportation.
  7. Cliquez sur Exporter pour démarrer l'exportation.

gcloud

  1. Créez un bucket Cloud Storage, si ce n'est pas déjà fait.

    Pour obtenir de l'aide concernant la création d'un bucket, consultez la page Créer des buckets de stockage.

  2. Importez le fichier dans le bucket.

    Pour obtenir de l'aide concernant l'importation de fichiers dans des buckets, consultez la page Importer un objet.

  3. Décrivez l'instance à partir de laquelle vous souhaitez exporter :
      gcloud sql instances describe [INSTANCE_NAME]
      
  4. Copiez le champ "serviceAccountEmailAddress".
  5. Utilisez gsutil iam pour accorder le rôle IAM storage.objectAdmin au compte de service du bucket. Pour obtenir de l'aide sur la définition des autorisations IAM, consultez la page Utiliser des autorisations IAM.
  6. Exportez la base de données :
      gcloud beta sql export bak [INSTANCE_NAME] gs://[BUCKET_NAME]/sqldumpfile.sql.gz \
                                  --database=[DATABASE_NAME]
      

    Pour plus d'informations sur l'utilisation de la commande gcloud beta sql export bak, consultez la page de référence de la commande.

  7. Si vous n'avez pas besoin de conserver le rôle IAM que vous avez défini précédemment, révoquez-le maintenant.

REST

  1. Créez un bucket pour l'exportation de la manière suivante :
    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Bien que cette étape soit facultative, nous vous recommandons de la suivre pour vous éviter d'ouvrir l'accès à d'autres données.

  2. Attribuez à votre instance le rôle IAM storage.objectAdmin pour votre bucket. Pour obtenir de l'aide sur la définition des autorisations IAM, consultez la page Utiliser des autorisations IAM.
  3. Exportez votre base de données :

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

    • project-id : ID du projet.
    • instance-id : ID de l'instance
    • bucket_name : nom du bucket Cloud Storage
    • path_to_dump_file : chemin d'accès au conteneur de vidage SQL
    • database_name_1 : nom d'une base de données dans l'instance Cloud SQL
    • database_name_2 : nom d'une base de données dans l'instance Cloud SQL
    • offload : active l'exportation sans serveur. Définissez la valeur sur true pour utiliser l'exportation sans serveur.

    Méthode HTTP et URL :

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Corps JSON de la requête :

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_dump_file",
          "databases": ["database_name"]
          "offload": true | false
        }
    }
    

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

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

  4. Si vous n'avez pas besoin de conserver le rôle IAM que vous avez défini précédemment, révoquez-le maintenant.
Pour obtenir la liste complète des paramètres de cette requête, consultez la page instances:export.

Étapes suivantes