Aurora MySQL 데이터베이스 엔진 업데이트 2024년 11월 18일(버전 3.08.0, MySQL 8.0.39와 호환) - Amazon Aurora

Aurora MySQL 데이터베이스 엔진 업데이트 2024년 11월 18일(버전 3.08.0, MySQL 8.0.39와 호환)

버전: 3.08.0

Aurora MySQL 3.08.0이 정식 버전입니다. Aurora MySQL 3.08 버전은 MySQL 8.0.39와 호환됩니다. 발생한 커뮤니티 변경 사항에 대한 자세한 내용은 MySQL 8.0 Release Notes를 참조하세요.

Aurora MySQL 버전 3의 새로운 기능에 대한 자세한 내용은 Aurora MySQL 버전 3은 MySQL 8.0과 호환을 참조하세요. Aurora MySQL 버전 3과 Aurora MySQL 버전 2의 차이점에 대한 자세한 내용은 Aurora MySQL 버전 2와 Aurora MySQL 버전 3의 비교를 참조하세요. Aurora MySQL 버전 3과 MySQL 8.0 Community Edition의 비교 내용은 Amazon Aurora 사용 설명서Aurora MySQL 버전 3과 MySQL 8.0 Community Edition 비교를 참조하세요.

현재 지원되는 Aurora MySQL 릴리스는2.11.*, 2.12.*, 3.04.*, 3.05.*, 3.06.*, 3.07.* 및 3.08.*입니다.

Amazon RDS 블루/그린 배포를 사용하여 현재 지원되는 Aurora MySQL 버전 2 클러스터에서 Aurora MySQL 버전 3.08.0 클러스터로 인플레이스 업그레이드를 수행하거나, 스냅샷을 복원하거나, 관리형 블루/그린 업그레이드를 시작할 수 있습니다.

Aurora MySQL 버전 3으로의 업그레이드 계획에 대한 자세한 내용은 Aurora MySQL 클러스터에 대한 메이저 버전 업그레이드 계획을 참조하세요. Aurora MySQL 업그레이드에 대한 일반 정보는 Amazon Aurora 사용 설명서의 Amazon Aurora MySQL DB 클러스터 업그레이드를 참조하세요.

문제 해결 정보는 Amazon Aurora 사용 설명서Aurora MySQL 현재 위치 업그레이드 문제 해결을 참조하세요.

질문이나 우려 사항이 있는 경우 커뮤니티 포럼이나 AWS Support를 통해 AWS Support 팀에 도움을 요청할 수 있습니다. 자세한 내용은 Amazon Aurora 사용 설명서의 Amazon Aurora DB 클러스터 유지 관리를 참조하세요.

새로운 특성

  • 사용자가 InnoDB 제거 프로세스를 모니터링할 수 있도록 세 가지 새로운 Amazon CloudWatch 지표가 추가되었습니다.

    • PurgeBoundary

    • PurgeFinishedPoint

    • TruncateFinishedPoint

    자세한 내용은 Amazon Aurora 사용 설명서Amazon Aurora에 대한 Amazon CloudWatch 지표를 참조하세요.

  • 사용자가 제거 경계를 유지할 수 있는 장기 실행 트랜잭션을 식별할 수 있도록 새 CloudWatch 지표 TransactionAgeMaximum를 추가했습니다. 자세한 내용은 Amazon Aurora 사용 설명서Amazon Aurora에 대한 Amazon CloudWatch 지표를 참조하세요.

  • 메모리 부족(OOM) 방지를 위한 세 가지 새로운 CloudWatch 지표가 추가되었습니다.

    • AuroraMillisecondsSpentInOomRecovery

    • AuroraNumOomRecoverySuccessful

    • AuroraNumOomRecoveryTriggered

    자세한 내용은 Amazon Aurora 사용 설명서Amazon Aurora에 대한 Amazon CloudWatch 지표를 참조하세요.

  • 메모리 부족(OOM) 회피에 대한 세 가지 CloudWatch 지표를 합계 실행에서 증분 카운터로 변경했습니다.

    • AuroraMemoryNumDeclinedSqlTotal

    • AuroraMemoryNumKillConnTotal

    • AuroraMemoryNumKillQueryTotal

    자세한 내용은 Amazon Aurora 사용 설명서Amazon Aurora에 대한 Amazon CloudWatch 지표를 참조하세요.

  • 내부 임시 테이블에서 사용하는 메모리 양을 표시하기 위해 aurora_temptable_ram_allocationaurora_temptable_max_ram_allocation이라는 두 가지 전역 상태 변수를 추가했습니다. 이러한 전역 상태 변수는 관찰성을 높이고 내부 임시 테이블 메모리 사용과 관련된 문제를 진단하는 데 도움이 됩니다.

    자세한 내용은 Amazon Aurora 사용 설명서Aurora MySQL 전역 상태 변수를 참조하세요.

  • 서버가 메모리에서 트레이스를 제거하기 전에 오류 로그에 옵티마이저 트레이스를 인쇄하는 새 시스템 변수 aurora_optimizer_trace_print_before_purge를 도입했습니다. 시스템 변수 optimizer_trace_offsetoptimizer_trace_limit에 의해 설정된 임곗값을 기반으로 제거를 트리거할 수 있습니다.

  • 다음 DB 인스턴스 클래스에 대한 지원을 추가했습니다.

    • db.r7i

    • db.r8g

    자세한 내용은 Amazon Aurora 사용 설명서DB 인스턴스 클래스에 지원되는 DB 엔진을 참조하세요.

개선 사항

보안 문제 및 CVE 해결:

이 릴리스에는 MySQL 8.0.39까지의 모든 커뮤니티 CVE 수정 사항이 포함되어 있습니다. 다음 CVE 수정 사항이 포함되어 있습니다.

가용성 향상:

  • 이미 열을 즉시 삭제한 테이블에서 데이터 조작 언어(DML) 명령을 실행한 후 서버가 예기치 않게 다시 시작되어 삭제된 열과 삭제되지 않은 열의 수가 1017보다 큰 문제를 수정했습니다.

  • 데이터베이스 로그 파일이 올바르게 교체되지 않아 DB 인스턴스의 로컬 스토리지 공간 사용량이 증가할 수 있는 문제를 수정했습니다.

  • aurora_oom_response가 활성화된 경우 메모리 부족 조건에서 DB 인스턴스의 연결 종료가 중지되어 메모리 부족 재부팅이 발생하여 피할 수 있는 문제를 수정했습니다.

  • 로그 애플리케이션에 사용되는 메모리를 비울 때 리더 DB 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.

  • 전체 텍스트 검색(FTS) 인덱스에 대한 내부 지표를 계산할 때 데이터베이스가 다시 시작될 수 있는 문제를 수정했습니다.

  • 인덱스 조건 푸시다운과 함께 하위 쿼리에서 LIMIT 절을 사용할 때 때때로 잘못된 쿼리 결과를 생성할 수 있는 커뮤니티 문제를 수정했습니다.

  • 메모리 액세스 위반으로 인해 스레드가 더 이상 소유하지 않은 뮤텍스 객체가 해제되는 문제를 수정했습니다.

  • 릴레이 로그 복구 중에 많은 수의 릴레이 로그 파일을 처리할 때 이진 로그(binlog) 복제본이 다시 시작될 수 있는 문제를 수정했습니다.

  • 쓰기 전달이 활성화된 경우 Aurora 리더 DB 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.

  • 여러 UNION 절이 포함된 쿼리가 대용량 메모리를 할당하여 DB 인스턴스를 다시 시작하는 문제를 수정했습니다.

  • 리더 DB 인스턴스에서 병렬 쿼리를 실행할 때 라이터 DB 인스턴스가 다시 시작되는 문제를 수정했습니다.

  • FLUSH RELAY LOGS 명령을 실행할 때 복제본의 I/O 스레드에 교착 상태가 발생하여 복제본에서 binlog 복제가 중지되는 문제를 수정했습니다.

  • 향상된 binlog가 활성화된 DB 클러스터에서 대규모 GTID 세트를 처리할 때 DB 인스턴스가 다시 시작되는 문제를 수정했습니다.

  • 인 메모리 릴레이 로그 캐시가 활성화된 경우 binlog 복제본이 다시 시작될 수 있는 문제를 수정했습니다. 단일 스레드 바이너리 로그 복제 또는 GTID 자동 위치 지정이 활성화된 다중 스레드 복제를 사용하는 경우 Aurora MySQL 관리형 binlog 복제본에서 인 메모리 릴레이 로그 캐시가 활성화됩니다.

  • 데이터베이스 엔진 시작 중에 데이터 제어 언어(DCL) 문을 적용할 때 binlog 복제본 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.

  • 드문 경우지만 라이터 DB 인스턴스로 업데이트되는 테이블에서 SELECT 쿼리를 실행할 때 교착 상태로 인해 리더 DB 인스턴스가 다시 시작될 수 있는 문제를 해결했습니다.

  • Aurora Global Database 리더 인스턴스가 활성 쓰기 전달 세션으로 다시 시작될 수 있는 문제를 수정했습니다.

  • 라이터 DB 인스턴스에서 드문 트랜잭션 커밋 주문이 발생하는 경우 Aurora 읽기 전용 복제본이 다시 시작될 수 있는 문제를 수정했습니다.

  • 향상된 binlog가 활성화된 DB 인스턴스에서 실행되는 동안 예약된 이벤트가 취소될 때 데이터베이스가 다시 시작될 수 있는 문제를 수정했습니다.

일반적인 개선 사항

  • 제로 가동 중지 패치(ZDP) 또는 제로 가동 중지 재시작(ZDR) 중에 클라이언트 연결이 멈출 수 있는 문제를 수정했습니다.

  • 드문 경우지만 열린 테이블 오류를 처리하는 동안 발생할 수 있는 메모리 관리 문제로 인해 데이터베이스 인스턴스가 다시 시작되는 문제를 수정했습니다.

  • AUTO_INCREMENT 프라이머리 키 열과 고유 키 열이 있는 테이블에서 동시 INSERT 문을 수행할 때와 INSERT 문에 서로 다른 행에 고유한 키 위반이 있을 때 SQL 문에 예기치 않은 프라이머리 키 위반 오류 또는 경고가 발생할 수 있는 문제를 수정했습니다.

  • 성능 스키마 계측 memory/sql/sp_head::main_mem_root는 이제 제어된 계측입니다. 따라서 저장된 프로그램의 구문 분석 및 표현에 할당된 메모리가 이제 연결당 메모리 제한에 포함됩니다.

  • 업데이트 중에 공간 인덱스를 통해 행을 읽을 수 없게 되는 문제를 수정했습니다.

  • 사용자가 로컬 쓰기 전달을 비활성화하지 못하는 문제를 수정했습니다.

  • 쓰기 전달을 사용하는 동안 SELECT COUNT 쿼리가 잘못된 결과를 반환할 수 있는 문제를 수정했습니다.

  • ZDP가 쿼리의 힌트로 설정된 세션 변수를 잘못 복원할 때 잘못된 쿼리 결과가 발생할 수 있는 문제를 수정했습니다.

  • 업그레이드 시나리오에서 innodb_max_undo_log_size 임곗값보다 큰 실행 취소 테이블스페이스의 자동 잘림 문제를 수정했습니다.

  • innodb_flush_log_at_trx_commit0으로 설정된 경우 커밋 지연 시간과 커밋 처리량이 측정되지 않는 문제를 수정했습니다.

  • Aurora 복제본 지연이 잘못 보고될 수 있는 문제를 수정했습니다.

  • Aurora Global Database를 사용할 때 threads_running 변수에 잘못된 값을 제공한 문제를 수정했습니다.

  • 외래 키가 있는 테이블에 복제 변경 사항을 적용할 때 병렬 보조 인덱스 최적화가 활성화된 Aurora MySQL binlog 복제본이 다시 시작되는 문제를 수정했습니다.

  • 스케일 업 또는 스케일 다운 이벤트 중에 잠금 해시 테이블의 장기 크기 조정으로 인한 재시작 문제를 수정했습니다.

  • 향상된 binlog가 이전에 활성화되었을 때 이진 로깅을 비활성화한 후 DB 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.

  • 테이블 수가 많을 때 논리적 데이터 사전 복구 중에 메모리 사용량을 줄이기 위한 최적화를 도입했습니다.

  • 바이너리 로그 복제가 이미 구성된 경우 binlog 복제본에서 mysql.rds_set_external_source 저장 프로시저를 실행하는 동안 사용자에게 ERROR 1377 (HY000): Fatal error during log purge 오류가 발생할 수 있는 문제를 수정했습니다.

  • ZDR 이후 사용자 역할 권한의 지속성을 방해하는 결함을 수정했습니다.

  • 뷰 정의자의 기본 역할과 관련된 메모리 문제를 수정했습니다.

  • SHOW VOLUME STATUS가 실행될 때 DB 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.

  • 스케일 업 또는 스케일 다운 이벤트 중 버퍼 풀 크기 조정 연장으로 인한 재시작 문제를 수정했습니다.

  • 스케일 다운 이벤트 중에 버퍼 크기 조정으로 인해 해제된 페이지에 액세스하는 논리적 미리 읽기(LRA)로 인한 재시작 문제를 수정했습니다.

  • 쿼리가 구체화를 전략으로 사용하는 세미조인 변환LEFT OUTER JOIN을 함께 사용할 때 잘못된 결과를 반환하는 SELECT 쿼리를 해결하는 문제를 수정했습니다.

  • 쓰기 전달을 비활성화하는 프로세스를 완료하지 못할 수 있는 문제를 해결했습니다.

  • ActiveTransactionsBlockedTransactions CloudWatch 지표가 예상보다 낮은 값을 보고하는 문제를 수정했습니다.

  • 복제본이 상위 테이블과 하위 테이블 모두에서 명시적으로 삭제하는 멀티테이블 DELETE 문을 처리할 때 binlog 복제가 중단되는 문제를 수정했습니다.

  • enum 유형을 반환하는 사용자 정의 함수로 트리거를 처리할 때 DB 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.

  • row로 설정된 binlog_format을 사용하여 복제할 때 DMLLatency CloudWatch 지표에 이진 로그 복제본 인스턴스의 잘못된 값이 표시되는 문제를 수정했습니다.

  • 느린 SELECT 쿼리가 선행되지 않는 한 MySQL Event Scheduler에서 실행하는 느린 INSERT, DELETEUPDATE 쿼리가 느린 쿼리 로그에 기록되지 않는 문제를 수정했습니다.

  • 드문 경우지만 Aurora 읽기 전용 복제본을 간헐적으로 사용할 수 없거나 테이블 정의 불일치가 발생하여 복제본에서 Table does not exist 오류가 발생하는 문제를 수정했습니다. 이는 라이터 DB 인스턴스의 복제본 및 데이터 정의 언어(DDL) 작업에 대한 동시 읽기 쿼리 때문입니다.

  • 향상된 binlog가 활성화되거나 이전에 활성화된 DB 클러스터에서 SHOW BINARY LOGS 명령을 실행하는 데 시간이 더 오래 걸리는 문제를 수정했습니다. 이 문제로 인해 여러 SHOW BINARY LOGS 명령이 동시에 실행되는 경우 커밋 지연 시간이 증가할 수도 있습니다.

업그레이드 및 마이그레이션:

  • 데이터베이스 객체(예: 테이블, 트리거 및 루틴)가 많은 DB 클러스터의 메이저 버전 업그레이드 성능을 Aurora MySQL 버전 2에서 버전 3으로 개선했습니다.

    더 큰 DB 인스턴스 클래스의 경우 데이터베이스 업그레이드 프로세스는 여러 스레드를 사용하여 기존의 MySQL 객체 메타데이터를 새로운 원자성 MySQL 8.0 데이터 사전으로 병렬로 업그레이드합니다.

  • 대상 Aurora MySQL DB 엔진 버전이 3.04.0 이상일 때 업그레이드 또는 마이그레이션이 실패하는 문제를 수정했습니다. 이는 lower_case_table_names DB 클러스터 파라미터가 1로 설정되어 있고 MySQL 데이터베이스 데이터 정렬이 소문자 테이블 이름과 호환되지 않는 경우에 발생합니다.

MySQL Community Edition 버그 수정 통합

이 릴리스에는 아래 사항 외에도 8.0.39까지의 모든 커뮤니티 버그 수정 사항이 포함되어 있습니다. 자세한 내용은 Aurora MySQL 3.x 데이터베이스 엔진 업데이트를 통해 수정한 MySQL 버그를 참조하세요.

  • JOINUNION 작업이 모두 있는 특정 쿼리의 결과 세트에서 NULL 값이 잘못 생략되는 문제를 수정했습니다. (커뮤니티 버그 수정 #114301)