

# Aurora MySQL 버전 8.4으로 업그레이드
<a name="AuroraMySQL.mysql84-upgrade-procedure"></a>

현재 위치 메이저 버전 업그레이드를 사용하여 Aurora MySQL 버전 3에서 버전 8.4로 업그레이드할 수 있습니다. Aurora MySQL 버전 2에서 버전 8.4로의 직접 업그레이드는 지원되지 않습니다. 버전 2를 실행하는 경우 먼저 버전 3으로 업그레이드해야 합니다.

주요 버전 업그레이드 프로세스에 대한 일반적인 정보는 [DB 클러스터의 Amazon Aurora MySQL 메이저 버전 업그레이드](AuroraMySQL.Updates.MajorVersionUpgrade.md) 섹션을 참조하세요.

## 버전 8.4로 업그레이드하기 전에
<a name="AuroraMySQL.mysql84-upgrade-before"></a>

업그레이드하기 전에 다음 준비 단계를 완료하세요.

Aurora는 업그레이드가 시작되기 전에 업그레이드 사전 확인을 자동으로 실행합니다. 이러한 사전 확인은 업그레이드를 차단할 수 있는 호환성 문제를 식별합니다. 각 사전 확인에 대한 자세한 내용은 [Aurora MySQL 버전 3을 버전 8.4로 업그레이드하기 위한 사전 확인 설명](AuroraMySQL.upgrade-prechecks-v3-to-v84.descriptions.md) 섹션을 참조하세요.

1. **인증 플러그인을 마이그레이션합니다.** 모든 데이터베이스 사용자를 검토하고 `mysql_native_password`를 사용하여 모든 사용자를 `caching_sha2_password`로 마이그레이션합니다. Aurora MySQL 버전 8.4에서는 `mysql_native_password` 플러그인이 여전히 지원되지만 더 이상 사용되지 않습니다. 기본값 `authentication_policy`는 `*:caching_sha2_password`이므로 기본적으로 `caching_sha2_password`를 사용하여 새 사용자가 생성됩니다.

   ```
   -- Find users using mysql_native_password
   SELECT user, host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password';
   
   -- Migrate a user to caching_sha2_password
   ALTER USER '{{username}}'@'{{host}}' IDENTIFIED WITH caching_sha2_password BY '{{new_password}}';
   ```

1. **복제 SQL 문을 업데이트합니다.** 애플리케이션 또는 스크립트가 더 이상 사용되지 않는 복제 문(예: `SHOW SLAVE STATUS` 또는 `CHANGE MASTER TO`)을 사용하는 경우 대체 문을 사용하도록 업데이트합니다. 이러한 이전 문은 버전 8.4에서 구문 오류를 반환합니다. 전체 목록은 [Aurora MySQL 버전 3과 Aurora MySQL 버전 8.4 비교](AuroraMySQL.Compare-v3-v84.md) 단원을 참조하십시오.

1. **제거된 파라미터를 확인합니다.** 사용자 지정 파라미터 그룹이 버전 8.4에서 제거된 파라미터(예: `expire_logs_days` 또는 `default_authentication_plugin`)를 사용하는 경우 대체 파라미터를 사용하여 새 MySQL 8.4 호환 파라미터 그룹을 생성합니다. 필요한 모든 사용자 파라미터 값을 새 파라미터 그룹에 적용합니다. 자세한 내용은 [Aurora MySQL 버전 3과 Aurora MySQL 버전 8.4 비교](AuroraMySQL.Compare-v3-v84.md)을 참조하세요.

1. **호환되지 않는 SQL 구문이 있는지 확인합니다.** `LOCK TABLES ... WRITE`가 포함된 `LOW_PRIORITY`, `FLOAT`의 `AUTO_INCREMENT` 또는 `DOUBLE` 열과 같이 제거된 구문에 대한 애플리케이션 코드를 검토합니다.

1. **외래 키 제약 조건을 확인합니다.** 스키마가 고유하지 않은 키를 참조하는 외래 키를 사용하는 경우 버전 8.4에서는 이러한 외래 키를 새로 생성하는 것이 기본적으로 차단됩니다. 기존 외래 키는 계속 작동하지만 새 외래 키는 `restrict_fk_on_non_standard_key=OFF` 설정을 요구합니다.

1. **새 예약 키워드를 확인합니다.** 데이터베이스 객체가 MySQL 8.4에 인용되지 않은 식별자로 추가된 새 예약 키워드를 사용하지 않는지 확인합니다.

1. **업그레이드를 테스트합니다.** 프로덕션 클러스터 자체를 업그레이드하기 전에 프로덕션 클러스터의 복제본에서 업그레이드를 테스트하는 것이 좋습니다.

1. **보안 고려 사항을 검토하세요.** 인증 플러그인 변경, TLS 및 암호 변경, 암호 정책 및 `validate_password` 구성 요소, 새 동적 권한, `deprecatedDefaultAuth` 및 `auroraValidatePasswordPluginCheck`와 같은 업그레이드 사전 확인에 대한 자세한 내용은 [Aurora MySQL 버전 3에서 버전 8.4로 업그레이드하기 위한 보안 고려 사항](AuroraMySQL.Upgrade-v3-v84-security.md) 섹션을 참조하세요.

## 버전 8.4로 업그레이드하는 방법
<a name="AuroraMySQL.mysql84-upgrade-how"></a>

업그레이드를 수행하려면 [DB 클러스터의 Amazon Aurora MySQL 메이저 버전 업그레이드](AuroraMySQL.Updates.MajorVersionUpgrade.md)에 설명된 인플레이스 메이저 버전 업그레이드 절차를 따릅니다. DB 클러스터를 수정할 때 대상 버전 8.4 엔진 버전을 선택합니다.

또는 [데이터베이스 업데이트에 Amazon Aurora 블루/그린 배포 사용](blue-green-deployments.md)를 사용하여 가동 중지 시간을 최소화하면서 업그레이드할 수 있습니다. 블루/그린 배포는 현재 프로덕션 환경과 함께 새 버전을 실행하는 스테이징 환경을 생성하므로 전환하기 전에 테스트하고 검증할 수 있습니다.

업그레이드가 완료되면 [Aurora MySQL 버전 8.4에 대한 업그레이드 후 정리](AuroraMySQL.mysql84-post-upgrade.md)에 설명된 업그레이드 후 정리 단계를 수행합니다.