Créer et gérer des bases de données

Cette page contient des informations décrivant comment créer, répertorier et supprimer des bases de données MySQL sur une instance Cloud SQL.

Une nouvelle instance possède quatre bases de données système :

  • information_schema : fournit un accès aux métadonnées de la base de données ainsi que des informations sur le serveur MySQL.
  • mysql : schéma système. Il contient des tables qui stockent les informations requises par le serveur MySQL lors de son exécution.
  • performance_schema : fonctionnalité permettant de surveiller l'exécution du serveur MySQL à un niveau inférieur.
  • sys : contient un ensemble d'objets qui aide les administrateurs de bases de données et les développeurs à interpréter les données collectées par le schéma de performances.

Pour en savoir plus sur les bases de données MySQL, consultez la documentation MySQL.

Avant de commencer

Avant d'effectuer les tâches indiquées sur cette page :

Si vous prévoyez de créer ou de gérer les bases de données à l'aide du client mysql, vous devez :

Créer une base de données sur l'instance Cloud SQL

Console

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

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Dans le menu de navigation SQL, sélectionnez Bases de données.
  4. Cliquez sur Create database.
  5. Dans la boîte de dialogue Créer une base de données, spécifiez le nom de la base de données, et éventuellement le jeu de caractères et le classement.

    Pour plus d'informations sur les jeux de caractères et les classements, consultez Jeu de caractères, classements, Unicode.

  6. Cliquez sur Créer.

gcloud

Pour plus d'informations, consultez gcloud sql databases create.

Pour plus d'informations sur les jeux de caractères et les classements, consultez Jeu de caractères, classements, Unicode.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME \
[--charset=CHARSET] \
[--collation=COLLATION]

Terraform

Pour créer une base de données, utilisez une ressource Terraform.

resource "google_sql_database" "database" {
  name     = "my-database"
  instance = google_sql_database_instance.instance.name
}

Appliquer les modifications

Pour appliquer votre configuration Terraform dans un projet Google Cloud, suivez les procédures des sections suivantes.

Préparer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelé main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud, accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

Supprimer les modifications

Pour supprimer vos modifications, procédez comme suit :

  1. Pour désactiver la protection contre la suppression, définissez l'argument deletion_protection sur false dans le fichier de configuration Terraform.
    deletion_protection =  "false"
  2. Appliquez la configuration Terraform mise à jour en exécutant la commande suivante et en saisissant yes lorsque vous y êtes invité :
    terraform apply
  1. Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant yes à l'invite :

    terraform destroy

REST v1

La requête suivante exécute la méthode databases:insert pour créer une base de données sur l'instance spécifiée.

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

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • 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/databases

Corps JSON de la requête :

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

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

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

REST v1beta4

La requête suivante exécute la méthode databases:insert pour créer une base de données sur l'instance spécifiée.

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

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • 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/databases

Corps JSON de la requête :

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

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

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

Client mysql

Pour plus d'informations, consultez CRÉER UNE BASE DE DONNÉES dans la documentation MySQL.

Pour plus d'informations sur les jeux de caractères et les classements, consultez Jeu de caractères, classements, Unicode.

CREATE DATABASE database_name
  [[CHARACTER SET charset_name][COLLATE collation_name]];

Lister les bases de données

Pour répertorier toutes les bases de données d'une instance :

Console

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

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Bases de données dans le menu de gauche. La page Bases de données répertorie les bases de données ainsi que leur type de classement, leur jeu de caractères et leur type de base de données.

gcloud

Pour plus d'informations, consultez gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

La requête suivante exécute la méthode databases:list pour répertorier les bases de données d'une instance.

Lorsque vous répertoriez les bases de données à l'aide de l'API, vous voyez des bases de données de modèles supplémentaires ainsi qu'une base de données système qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données système.

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/databases

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

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

REST v1beta4

La requête suivante exécute la méthode databases:list pour répertorier les bases de données d'une instance.

Lorsque vous répertoriez les bases de données à l'aide de l'API, vous voyez des bases de données de modèles supplémentaires ainsi qu'une base de données système qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données système.

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/databases

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

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

Client mysql

Pour plus d'informations, consultez AFFICHER LES BASES DE DONNÉES dans la documentation MySQL.

SHOW DATABASES;

Supprimer une base de données

Pour supprimer une base de données sur l'instance Cloud SQL :

Console

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

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Bases de données dans le menu de gauche.
  4. Dans la liste des bases de données, recherchez celle que vous souhaitez supprimer et cliquez sur l'icône de la corbeille.
  5. Dans la boîte de dialogue Supprimer la base de données, saisissez le nom de la base de données, puis cliquez sur Supprimer.

gcloud

Pour plus d'informations, consultez gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

La requête suivante exécute la méthode databases:delete pour supprimer la base de données spécifiée.

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

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • database-name : nom d'une base de données dans l'instance Cloud SQL.

Méthode HTTP et URL :

DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name

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

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

REST v1beta4

La requête suivante exécute la méthode databases:delete pour supprimer la base de données spécifiée.

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

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • database-name : nom d'une base de données dans l'instance Cloud SQL.

Méthode HTTP et URL :

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name

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

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

Client mysql

Pour plus d'informations, consultez SUPPRIMER LES BASES DE DONNÉES dans la documentation MySQL.

DROP DATABASE [database_name];

Étape suivante

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Cloud SQL en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Profiter d'un essai gratuit de Cloud SQL