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.
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.
Si vous passez de MySQL 5.7 à MySQL 8.0, vérifiez les modifications apportées aux autorisations 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 sur ON par défaut. Contrairement à MySQL 5.7, cette option empêche l'utilisation de caractères génériques dans les commandes GRANT de la base de données.
Pour vous assurer que les utilisateurs de la base de données ont accès aux bons schémas de base de données, modifiez les droits d'accès des utilisateurs de la base de données avant de passer à MySQL 8.0.
Mettez à jour les droits 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 en savoir plus sur le fonctionnement de cet indicateur dans MySQL 8.0, consultez la section partial_revokes dans MySQL 8.0.
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.
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 :
Créez l'instance avec la version majeure de la base de données cible.
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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Upgrade the database major version by migrating data\n\n\u003cbr /\u003e\n\nMySQL \\| [PostgreSQL](/sql/docs/postgres/upgrade-major-db-version-migrate \"View this page for the PostgreSQL database engine\") \\| [SQL Server](/sql/docs/sqlserver/upgrade-major-db-version-migrate \"View this page for the SQL Server database engine\")\n\n\u003cbr /\u003e\n\nThis page describes how to migrate your data to an instance running a later\nversion of MySQL. Before proceeding with this method, consider\n[upgrading the database major version in-place](/sql/docs/mysql/upgrade-major-db-version-inplace).\n| **Note:** To upgrade the minor version for MySQL 8.0, see [Upgrade the MySQL minor version for an instance](/sql/docs/mysql/upgrade-minor-db-version).\n\nThere are two ways to upgrade the database major version of your Cloud SQL\nfor MySQL instance by migrating your data.\n\n- **Option 1** . Use the [Database Migration Service (DMS)](/database-migration/docs/mysql/configure-source-database). DMS supports migrating from a Cloud SQL MySQL instance. You can also use it to upgrade your MySQL version.\n- **Option 2** . Move your data from one version of MySQL to another by *exporting* data from the current instance and *importing* that data into a new instance running the later version of MySQL. This process involves downtime; you put the current instance into read-only mode before starting the export.\n\nThis page discusses the second option.\n\nPlan a major version upgrade\n----------------------------\n\n1. Choose a target major version.\n\n See the [list of versions that Cloud SQL supports](/sql/docs/mysql/db-versions).\n2. Consider the features offered in each MySQL version and address\n incompatibilities.\n\n New major versions introduce incompatible changes that might require you to\n modify the application code, the schema, or the database settings before\n you can upgrade your database instance. Review the release notes of your\n target major version to determine the incompatibilities that you need to\n address. If you're skipping major versions, address the incompatibilities\n listed for each version that you're skipping.\n - [MySQL 8.4](https://dev.mysql.com/doc/refman/8.4/en/en/mysql-nutshell.html)\n - [MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html)\n - [MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html)\n3. If you are upgrading from MySQL 5.7 to 8.0, then check for user grant changes\n in MySQL 8.0.\n\n Cloud SQL for MySQL version 8.0 uses a new system flag called\n `partial_revokes`, which is set to `ON` by default. Unlike MySQL 5.7, this\n flag removes the ability to use wildcard characters in database `GRANT` commands.\n To ensure database users have access to the correct database schemas,\n modify database user privileges before upgrading to MySQL 8.0.\n Update the user's privileges to use the full\n name of the required database schemas instead of using wildcard characters.\n\n For more information on how this flag works in MySQL 8.0,\n see [partial_revokes in MySQL 8.0](/sql/docs/mysql/flags#partial-revokes).\n4. Test the upgrade with a dry run.\n\n Perform a dry run of the end-to-end upgrade process with a test instance\n before you upgrade the production database. You might want to test the upgrade\n using a [clone](/sql/docs/mysql/clone-instance)\n instead of your production database to avoid any performance impact from the\n export on your production workload.\n\n In addition to validating that the upgrade completes successfully, run\n tests to ensure that the application behaves as expected on the upgraded\n database. If you haven't enabled [automatic storage increases](/sql/docs/mysql/instance-settings#automatic-storage-increase-2ndgen),\n take note of the disk storage used by the upgraded dry run instance to\n determine whether you need to increase the storage capacity for the\n production instance before upgrading.\n5. Decide when you want to upgrade.\n\n | **Note:** Upgrades require the instance to become unavailable for a period of time. Be sure to schedule your upgrade when database activity is low.\n\nMigrate your data\n-----------------\n\nTo migrate your data to a Cloud SQL instance running a more recent database\nversion, follow these steps:\n\n1. Create the instance with the target database major version.\n\n Make sure the target instance has:\n - Sufficient storage to hold all of the current instance's data.\n - The same authorized networks as the current instance. [Learn more](/sql/docs/mysql/configure-ip).\n - The same user accounts, with the same MySQL privileges and passwords.\n\n For more information, see [Creating an instance](/sql/docs/mysql/create-instance).\n2. Confirm that you can [connect to the new instance](/sql/docs/mysql/connect-admin-ip) with your local MySQL tools\n and update them if necessary.\n\n3. Put your current Cloud SQL instance into read-only mode by setting the\n `read_only` database flag to `On`.\n\n For information, see [Configure database flags](/sql/docs/mysql/flags).\n4. Export the current instance's data to a SQL dump file, following the\n instructions in\n [Export data for import into Cloud SQL](/sql/docs/mysql/import-export/import-export-sql).\n\n Do *not* export the `mysql` system database.\n5. [Create a Cloud Storage bucket](/storage/docs/creating-buckets)\n if needed, and upload your SQL dump file to the bucket.\n\n6. Import the data to the target instance, following the instructions in\n [Import MySQL databases from Cloud Storage](/sql/docs/mysql/import-export/import-export-sql).\n\n7. Optional. After completing the upgrade process, set up replication\n between the source and target instances by using an external server to update\n the target with all changes that have occurred since the initial dump was\n started. Once the two instances are in sync, you can promote the target\n instance.\n\n For information about using an external server to implement continuous\n replication, see [Replicating from an external server](/sql/docs/mysql/replication/replication-from-external_v1).\n8. Update your applications to connect to the new instance.\n\n9. When you're confident that your new instance is operating successfully,\n delete the old instance.\n\nWhat's next\n-----------\n\n- Learn about [Changes affecting upgrades to MySQL 8.4](https://dev.mysql.com/doc/refman/8.4/en/en/mysql-nutshell.html).\n- Learn about [Changes affecting upgrades to MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html).\n- Learn about [Changes affecting upgrades to MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html).\n- Learn about the [Database Migration Service](/database-migration/docs).\n- Learn about [importing and exporting data](/sql/docs/mysql/import-export).\n- Learn about [options for connecting to an instance](/sql/docs/mysql/external-connection-methods).\n- Learn about [setting MySQL flags](/sql/docs/mysql/flags)."]]