옵션 2. MySQL의 데이터를 다른 버전의 MySQL로 옮기려면 현재 인스턴스에서 데이터를 내보낸 후 최신 버전의 MySQL을 실행하는 새로운 인스턴스에서 해당 데이터를 가져와야 합니다. 이 과정에서 다운타임이 발생합니다. 따라서 데이터를 내보내기 전에 현재 인스턴스를 읽기 전용 모드로 전환해야 합니다.
새로운 주 버전에는 데이터베이스 인스턴스를 업그레이드하기 전 애플리케이션 코드, 스키마, 데이터베이스 설정을 수정해야 할 수 있는 호환되지 않는 변경사항이 포함됩니다. 대상 주 버전의 출시 노트를 참조해서 해결해야 할 비호환성 문제를 확인해야 합니다. 주 버전을 건너뛸 경우에는 건너뛰는 각 버전에 대해 나열된 비호환성 문제를 해결해야 합니다.
MySQL 5.7에서 8.0으로 업그레이드하는 경우 MySQL 8.0에서 사용자 부여 변경사항을 확인합니다.
MySQL용 Cloud SQL 버전 8.0은 partial_revokes라는 새로운 시스템 플래그를 사용하며 기본적으로 ON으로 설정됩니다. MySQL 5.7과 달리 이 플래그는 데이터베이스 GRANT 명령어에 와일드 카드 문자를 사용하는 기능을 삭제합니다.
데이터베이스 사용자가 올바른 데이터베이스 스키마에 액세스할 수 있도록 MySQL 8.0으로 업그레이드하기 전에 데이터베이스 사용자 권한을 수정합니다.
와일드 카드 문자를 사용하는 대신 필요한 데이터베이스 스키마의 전체 이름을 사용하도록 사용자 권한을 업데이트합니다.
프로덕션 데이터베이스를 업그레이드하기 전 테스트 인스턴스에서 엔드 투 엔드 업그레이드 프로세스의 시험 이전을 수행합니다. 프로덕션 워크로드에 내보내기로 인한 성능 영향을 방지하기 위해 프로덕션 데이터베이스 대신 클론을 사용하여 업그레이드를 테스트할 수 있습니다.
업그레이드가 성공적으로 완료되는지 검증하는 것 외에도 업그레이드된 데이터베이스에서 애플리케이션이 예상한 대로 작동하는지 확인하는 테스트를 실행합니다. 자동 스토리지 증가를 사용 설정하지 않았으면 업그레이드된 시험 이전 인스턴스에 사용되는 디스크 스토리지를 기록해서 업그레이드 전 프로덕션 인스턴스의 스토리지 용량을 늘려야 하는지 확인합니다.
업그레이드할 시간을 결정합니다.
데이터 마이그레이션
최신 데이터베이스 버전을 실행하는 Cloud SQL 인스턴스로 데이터를 마이그레이션하려면 다음 단계를 수행합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-19(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)."]]