Cette page décrit comment exporter et importer des données dans des instances Cloud SQL à l'aide de fichiers de vidage SQL.
L'exportation depuis Cloud SQL vers un fichier de vidage SQL n'est pas compatible avec SQL Server.
Avant de commencer
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, consultez la page Bonnes pratiques pour l'importation et l'exportation de données.
Une fois l'opération d'importation terminée, vérifiez les résultats.
Exporter des données depuis Cloud SQL pour SQL Server
L'exportation depuis Cloud SQL vers un fichier de vidage SQL n'est pas compatible avec SQL Server.Importer des données dans Cloud SQL pour SQL Server
Rôles et autorisations requis pour l'importation dans Cloud SQL pour SQL Server
Pour importer des données de Cloud Storage dans Cloud SQL, l'utilisateur qui lance l'importation doit disposer de l'un des rôles suivants :
- Le rôle Administrateur Cloud SQL
- Un rôle personnalisé comprenant les autorisations suivantes :
cloudsql.instances.get
cloudsql.instances.import
De plus, le compte de service de l'instance Cloud SQL doit disposer de l'un des rôles suivants :
- Le rôle IAM
storage.objectAdmin
- Un rôle personnalisé comprenant les autorisations suivantes :
storage.objects.get
storage.objects.list
(pour l'importation par bandes uniquement)
Pour obtenir de l'aide sur les rôles IAM, consultez la page Identity and Access Management.
Importer un fichier de dump SQL dans Cloud SQL pour SQL Server
Les fichiers SQL sont des fichiers au format texte brut comportant une séquence de commandes SQL.
Dans la procédure suivante, préparez la spécification d'une base de données existante à partir de laquelle importer vos fichiers SQL.
Console
-
Dans la console Google Cloud, accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Importer.
- Dans la section Sélectionnez le fichier à partir duquel vous souhaitez importer des données, saisissez le chemin d'accès au bucket et au fichier de vidage SQL à utiliser pour l'importation, ou accédez à un fichier existant.
Vous pouvez importer un fichier compressé (
.gz
) ou non compressé (.sql
). - Pour le paramètre Format, sélectionnez SQL.
Sélectionnez la base de données dans laquelle vous souhaitez importer les données.
Cloud SQL exécute alors l'instruction
USE DATABASE
(Utiliser la base de données) avant l'importation.Si vous souhaitez spécifier un utilisateur pour effectuer l'importation, sélectionnez-le.
Si votre fichier d'importation contient des instructions devant être exécutées par un utilisateur spécifique, utilisez ce champ pour le spécifier.
- Cliquez sur Importer pour démarrer l'importation.
gcloud
- Créer un bucket Cloud Storage
Importez le fichier dans le bucket.
Pour obtenir de l'aide concernant l'importation de fichiers dans des buckets, consultez la page Importer des objets.
- Décrivez l'instance dans laquelle vous réalisez l'importation :
gcloud sql instances describe INSTANCE_NAME
- Copiez le champ
serviceAccountEmailAddress
. - Utilisez
gcloud storage buckets add-iam-policy-binding
pour accorder lestorage.objectAdmin
rôle IAM au compte de service sur le bucket. Pour obtenir de l'aide sur la définition des autorisations IAM, consultez la page Utiliser les autorisations IAM.gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE-ACCOUNT \ --role=roles/storage.objectAdmin
- Importez la base de données :
gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/IMPORT_FILE_NAME \ --database=DATABASE_NAME
Pour plus d'informations sur l'utilisation de la commande
import sql
, consultez la page de référence de la commandesql import sql
.Si la commande affiche une erreur de type
ERROR_RDBMS
, vérifiez les autorisations. Cette erreur est souvent liée à des problèmes d'autorisation. - Si vous n'avez pas besoin de conserver les autorisations IAM que vous avez définies précédemment, supprimez-les en utilisant
gcloud storage buckets remove-iam-policy-binding
.
REST v1
- Créer un bucket Cloud Storage
Importez le fichier dans le bucket.
Pour obtenir de l'aide concernant l'importation de fichiers dans des buckets, consultez la page Importer des objets.
- Attribuez à votre instance les rôles IAM
legacyBucketWriter
etobjectViewer
pour votre bucket. Pour obtenir de l'aide sur la définition des autorisations IAM, consultez la page Utiliser des autorisations IAM. - Importez le fichier de vidage :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- bucket_name : nom du bucket Cloud Storage
- path_to_sql_file : chemin d'accès au fichier SQL
- database_name : nom d'une base de données dans l'instance Cloud SQL
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import
Corps JSON de la requête :
{ "importContext": { "fileType": "SQL", "uri": "gs://bucket_name/path_to_sql_file", "database": "database_name" } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Pour obtenir la liste complète des paramètres de cette requête, consultez la page instances:import. - Si vous n'avez pas besoin de conserver les autorisations IAM que vous avez définies précédemment, supprimez-les dès maintenant.
REST v1beta4
- Créer un bucket Cloud Storage
Importez le fichier dans le bucket.
Pour obtenir de l'aide concernant l'importation de fichiers dans des buckets, consultez la page Importer des objets.
- 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. - Importez le fichier de vidage :
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance
- bucket_name : nom du bucket Cloud Storage
- path_to_sql_file : chemin d'accès au fichier SQL
- database_name : nom d'une base de données dans l'instance Cloud SQL
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import
Corps JSON de la requête :
{ "importContext": { "fileType": "SQL", "uri": "gs://bucket_name/path_to_sql_file", "database": "database_name" } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Pour obtenir la liste complète des paramètres de cette requête, consultez la page instances:import. - Si vous n'avez pas besoin de conserver les autorisations IAM que vous avez définies précédemment, supprimez-les dès maintenant.
Étape suivante
- Apprenez à vérifier l'état des opérations d'importation et d'exportation.
- Découvrez les bonnes pratiques pour l'importation et l'exportation de données.
- Obtenez davantage d'informations sur Cloud Storage.
- Consultez les problèmes connus concernant les importations et les exportations.