Mettre à niveau la version majeure de la base de données en migrant les données

Cette page explique comment transférer vos données vers une instance exécutant une version ultérieure de MySQL. Avant de poursuivre cette méthode, envisagez de mettre à niveau la version majeure de la base de données sur place.

Deux options s'offrent à vous pour mettre à niveau la version majeure de la base de données de votre instance Cloud SQL pour MySQL en migrant vos données.

  • Option 1. Utilisez Database Migration Service (DMS). DMS permet d'effectuer une migration depuis une instance Cloud SQL pour MySQL. Vous pouvez également l'utiliser pour mettre à jour votre version MySQL.
  • Option 2. Transférez vos données d'une version de MySQL à une autre en exportant les données de l'instance actuelle et en les important dans une nouvelle instance exécutant la version ultérieure de MySQL. Cette démarche implique un temps d'arrêt, car vous devez faire passer l'instance actuelle en mode lecture seule avant de lancer l'exportation.

Cette page traite de la seconde option.

Planifier une mise à niveau de version majeure

  1. Choisissez une version majeure cible.

    Consultez la liste des versions compatibles avec Cloud SQL.

  2. Examinez les fonctionnalités proposées dans chaque version de MySQL et corrigez les incompatibilités.

    Les nouvelles versions majeures présentent des modifications incompatibles pouvant vous obliger à modifier le code de l'application, le schéma ou les paramètres de la base de données avant de pouvoir mettre à niveau votre instance de base de données. Consultez les notes de version de votre version majeure cible pour déterminer les incompatibilités que vous devez corriger. Si vous ignorez les versions majeures, corrigez les incompatibilités répertoriées pour chaque version que vous ignorez.

  3. Vérifier les modifications apportées aux autorisations d'utilisateur dans MySQL 8.0

    Cloud SQL pour MySQL version 8.0 utilise une nouvelle option système appelée partial_revokes, qui est définie par défaut sur ON. Contrairement à MySQL 5.7, cette option supprime la possibilité d'utiliser des caractères génériques dans les commandes GRANT de base de données. Pour vous assurer que les utilisateurs de bases de données ont accès aux schémas de base de données appropriés, modifiez les droits d'utilisateur de la base de données avant de passer à MySQL 8.0. Mettez à jour les privilèges de l'utilisateur pour utiliser le nom complet des schémas de base de données requis au lieu d'utiliser des caractères génériques.

    Pour plus d'informations sur le fonctionnement de cette option dans MySQL 8.0, consultez la section partial_revokes in MySQL 8.0.

  4. Tester la mise à niveau avec une simulation

    Effectuer une simulation du processus de mise à niveau de bout en bout avec une instance de test avant de mettre à jour la base de données de production. Vous pouvez tester la mise à niveau à l'aide d'un clone au lieu de votre base de données de production afin d'éviter tout impact sur les performances de l'exportation de votre charge de travail de production.

    En plus de vérifier que la mise à niveau a abouti, exécutez des tests pour vous assurer que l'application se comporte comme prévu sur la base de données mise à niveau. Si vous n'avez pas activé l'augmentation automatique de l'espace de stockage, notez l'espace de stockage sur disque utilisé par l'instance de simulation mise à niveau pour déterminer si vous devez augmenter la capacité de stockage de l'instance avant de procéder à la mise à niveau.

  5. Décidez quand vous souhaitez effectuer la mise à niveau.

Transférer vos données

Pour migrer vos données vers une instance Cloud SQL exécutant une version de base de données plus récente, procédez comme suit :

  1. Créez l'instance cible avec la version majeure de base de données souhaitée.

    Assurez-vous que l'instance cible dispose des éléments suivants :

    • Un espace de stockage suffisant pour accueillir toutes les données de l'instance actuelle.
    • Les mêmes réseaux autorisés que l'instance actuelle. En savoir plus
    • Les mêmes comptes utilisateur, avec les mêmes droits et mots de passe MySQL.

    Pour en savoir plus, consultez la page Créer une instance.

  2. Vérifiez que vous pouvez vous connecter à la nouvelle instance à l'aide de vos outils MySQL locaux et mettez-les à jour si nécessaire.

  3. Passez votre instance Cloud SQL actuelle en mode lecture seule en définissant l'option read_only de la base de données sur On.

    Pour en savoir plus, consultez la page Configurer des options de base de données.

  4. Exportez les données de l'instance actuelle vers un fichier de vidage SQL en suivant les instructions décrites à la page Exporter des données pour les importer dans Cloud SQL.

    N'exportez pas la base de données système mysql.

  5. Créez un bucket Cloud Storage si nécessaire et importez-y le fichier de vidage SQL.

  6. Importez les données dans l'instance cible en suivant les instructions décrites à la page Importer des fichiers de vidage SQL dans Cloud SQL.

  7. Facultatif. Une fois le processus de mise à niveau terminé, configurez la réplication entre les instances source et cible en utilisant un serveur externe afin de mettre à jour la cible avec toutes les modifications survenues depuis le démarrage du vidage initial. Une fois les deux instances synchronisées, vous pouvez promouvoir l'instance cible.

    Pour en savoir plus sur l'utilisation d'un serveur externe pour mettre en œuvre une réplication continue, consultez la page Effectuer une réplication depuis un serveur externe.

  8. Mettez à jour vos applications pour qu'elles se connectent à la nouvelle instance.

  9. Une fois que vous êtes certain que la nouvelle instance fonctionne correctement, supprimez l'ancienne.

Étape suivante