Mettre à niveau la version mineure de la base de données

Cette page décrit comment définir la version mineure de base de données d'une instance. Pour connaître les versions compatibles, consultez la page Versions de bases de données et règles concernant les versions.

Dans chaque nouvelle version mineure, les fournisseurs de base de données publient de nouvelles fonctionnalités, des correctifs de sécurité, des corrections de bugs et des améliorations de performances. De plus, Cloud SQL met régulièrement à jour votre version mineure pendant la maintenance.

Cependant, MySQL 8.0 n'autorise pas le retour à une version antérieure. Par conséquent, les mises à niveau de versions mineures ne sont pas automatiquement incluses dans la maintenance de routine. Vous pouvez spécifier la version mineure de Cloud SQL pour MySQL 8.0 lors de la création d'une instance, ou bien ultérieurement, via un processus de mise à niveau. Ces deux options sont décrites sur cette page.

Avant de passer à une nouvelle version mineure de MySQL 8.0, familiarisez-vous avec les modifications. Consultez les notes de version de MySQL 8.0. Si vous utilisez Cloud SQL pour MySQL 5.6 ou 5.7, Cloud SQL gère automatiquement la version mineure de votre instance. Lorsque vous provisionnez une nouvelle instance, Cloud SQL configure automatiquement votre instance avec la dernière version de base de données disponible. Lors des opérations de maintenance de routine, Cloud SQL met automatiquement à niveau votre instance vers la dernière version compatible.

Pour mettre à niveau la version mineure de la base de données de votre instance MySQL 8.0, vous devez mettre à jour votre instance vers la version mineure de votre choix, qui doit être supérieure à la version mineure actuellement installée. Vous ne pouvez pas rétablir une version mineure non spécifiée après le provisionnement d'une instance.

Avant la mise à niveau

MySQL 8.0 n'autorise pas le retour à une version antérieure. Par conséquent, avant de mettre à niveau votre instance principale, procédez comme suit pour garantir la sécurité de vos données.

  1. Testez votre mise à niveau dans un environnement de préproduction.

    1. Créez un clone de votre instance de production, qui servira d'instance de préproduction. Cela crée une instance de base de données avec les mêmes versions majeure et mineure.

    2. Effectuez une mise à niveau de la version mineure sur l'instance de préproduction.

    3. Exécutez des tests de charge de travail pour vérifier que la mise à niveau a réussi et que votre application fonctionne comme prévu. Une fois les tests réussissent, passez à la mise à niveau de vos instances dupliquées avec accès en lecture.

  2. Mettez à niveau vos instances dupliquées avec accès en lecture.

    1. Mettez à niveau toutes les instances dupliquées avec accès en lecture de la base de données vers la version mineure cible.

    2. Vérifiez que votre application fonctionne comme prévu.

  3. Sauvegardez votre instance principale.

    Comme pour toute mise à jour importante de la base de données, effectuez une sauvegarde de votre instance principale.

Mettre à niveau la version mineure

Vous pouvez spécifier la version mineure de base de données d'une instance existante à l'aide de gcloud ou de l'API REST. Effectuez les mises à niveau de versions mineures lorsque la base de données n'est pas utilisée. L'instance est redémarrée pendant l'opération, ce qui entraîne un temps d'arrêt. Si la version actuellement installée est supérieure à la version demandée, la demande est rejetée.

gcloud

Exécutez la commande gcloud sql instances patch avec l'option --database-version.

Remplacez les variables suivantes avant d'exécuter la commande :

  • INSTANCE_NAME : nom de l'instance
  • DATABASE_VERSION: version de la base de données de l'instance. Si vous ne spécifiez pas cette option, la version majeure par défaut est utilisée.
gcloud sql instances patch INSTANCE_NAME \
--database-version=DATABASE_VERSION

REST v1

Exécutez une requête PATCH avec la méthode instances:patch et l'option databaseVersion.

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
  • DATABASE_VERSION : version de la base de données vers laquelle effectuer la mise à niveau

Méthode HTTP et URL :

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID

Corps JSON de la requête :

{
  "databaseVersion": "DATABASE_VERSION"
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://content-sqladmin.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE-ID",
  "selfLink": "https://content-sqladmin.googleapis.com/v1/projects/PROJECT-ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT-ID"
}

REST v1beta4

Exécutez une requête PATCH avec la méthode instances:patch et l'option databaseVersion.

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
  • DATABASE_VERSION : version de la base de données vers laquelle effectuer la mise à niveau

Méthode HTTP et URL :

 https://sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/instances/INSTANCE-ID

Corps JSON de la requête :

{
  "databaseVersion": "DATABASE_VERSION"
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://content-sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/instances/INSTANCE-ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2022-07-17T20:23:15.540Z",
  "operationType": "UPDATE",
  "name": "fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetId": "INSTANCE-ID",
  "selfLink": "https://content-sqladmin.googleapis.com/v1beta4/projects/PROJECT-ID/operations/fa3f7304-ccf6-4d2f-a6f5-24df00000032",
  "targetProject": "PROJECT-ID"
}

Vérifier la version mineure de la base de données installée

Lorsque vous affichez les informations récapitulatives sur l'instance, la version mineure de la base de données installée est visible dans la section Configuration.

Effectuer le rollback d'une mise à niveau

Lors des tests d'une mise à niveau, si vous remarquez un problème, vous pouvez effectuer un rollback de votre base de données afin de récupérer l'instance de base de données exécutant la version mineure précédente.

Pour restaurer une sauvegarde préalable à la mise à niveau, procédez comme suit :

  1. Provisionnez une instance de base de données de récupération sur la version mineure précédente.
  2. Configurez les paramètres de l'instance de base de données de récupération sur l'état préalable à la mise à niveau.
  3. Restaurez sur l'instance de récupération la sauvegarde que vous avez réalisée préalablement à la mise à niveau.

Au lieu de restaurer une sauvegarde, effectuez une récupération à un moment précis et créez une nouvelle instance.