Aurora MySQL v3 Release Notes 정리

Aurora MySQL v3.04.0 – MySQL 8.0.28 호환 (2023-07-31)

Estimated reading: 3 minutes 36 views

원본 문서: Aurora MySQL database engine updates 2023-07-31 (version 3.04.0, compatible with MySQL 8.0.28)

버전: 3.04.0

Aurora MySQL 3.04.0이 정식 출시되었습니다. Aurora MySQL 3.04 버전은 MySQL 8.0.28과 호환되고, Aurora MySQL 3.03 버전은 MySQL 8.0.26과 호환되며, Aurora MySQL 3.02 버전은 MySQL 8.0.23과 호환됩니다. 8.0.23에서 8.0.28로의 커뮤니티 변경 사항에 대한 자세한 내용은 MySQL 8.0 릴리스 노트를 참조하십시오.

참고
이 버전은 장기 지원(LTS) 릴리스로 지정되었습니다. 더 자세한 내용은 Amazon Aurora 사용자 가이드의 Aurora MySQL 장기 지원(LTS) 릴리스를 참조하세요.
LTS 버전에 대해서는 AutoMinorVersionUpgrade 매개변수를 true로 설정하거나 AWS 관리 콘솔에서 자동 마이너 버전 업그레이드를 활성화하지 않는 것을 권장합니다. 그렇게 하면 DB 클러스터가 3.05.2와 같은 비-LTS 버전으로 업그레이드될 수 있습니다.

Aurora MySQL 버전 3의 새로운 기능에 대한 자세한 내용은 Aurora MySQL 버전 3, MySQL 8.0과 호환에서 확인할 수 있습니다. Aurora MySQL 버전 3과 버전 2의 차이점은 Aurora MySQL 버전 2와 버전 3 비교에서, Aurora MySQL 버전 3과 MySQL 8.0 커뮤니티 에디션의 비교는 Aurora MySQL 버전 3과 MySQL 8.0 커뮤니티 에디션 비교에서 확인할 수 있습니다.

현재 지원되는 Aurora MySQL 릴리스는 2.07.9, 2.11.1, 2.11.2, 3.01.*, 3.02.*, 3.03.*, 3.04.0 입니다.

현재 지원되는 모든 Aurora MySQL 버전 2 클러스터에서 Aurora MySQL 버전 3.06.1 클러스터로 Amazon RDS Blue/Green Deployments를 사용하여 in-place 업그레이드를 수행하거나, 스냅샷을 복원하거나, 관리형 블루/그린 업그레이드를 시작할 수 있습니다.

Aurora MySQL 버전 3로 업그레이드를 계획하는 방법에 대한 정보는 Aurora MySQL DB 버전 3 업그레이드 계획을 참조하세요. Aurora MySQL 업그레이드에 대한 일반 정보는 Amazon Aurora 사용자 가이드Amazon Aurora MySQL DB 클러스터 업그레이드를 참조하세요.

문제 해결 정보는 Amazon Aurora 사용자 가이드Aurora MySQL 버전 3의 업그레이드 문제 해결을 참조하세요.

질문이나 우려 사항이 있는 경우, 커뮤니티 포럼과 AWS 지원 페이지를 통해 통해 AWS의 지원을 받을 수 있습니다. 자세한 내용은 Amazon Aurora 사용자 가이드Amazon Aurora DB 클러스터 유지 관리에서 확인할 수 있습니다.

참고
Aurora MySQL 향상된 바이너리 로그(enhanced binary log)는 현재 Aurora MySQL 버전 3.04.0의 Aurora Serverless v2 데이터베이스 인스턴스에서 지원되지 않습니다. 이 기능을 활성화하면 데이터베이스를 사용할 수 없게 될 수 있습니다. Aurora MySQL 버전 3.04.0에서 향상된 바이너리 로그를 사용해야 하는 경우 서버리스가 아닌 데이터베이스 인스턴스 클래스를 사용하시거나 Serverless v2 데이터베이스 인스턴스의 최소 및 최대 ACU를 동일한 값으로 설정하는 것이 좋습니다.
Aurora MySQL의 향상된 바이너리 로깅에 대한 자세한 정보는 Aurora 사용자 가이드에서 확인할 수 있습니다.

개선 사항

새로운 기능:

  • InnoDB 전체 텍스트 인덱스를 사용하여 자연어 모드에서 구문을 검색하는 쿼리의 성능이 향상되었습니다. MySQL에서의 풀텍스트 검색에 대한 자세한 정보는 풀텍스트 검색 함수를 참조하세요.
  • Amazon Aurora MySQL은 로컬(클러스터 내) 쓰기 전달을 지원합니다. 이제 Aurora MySQL DB 클러스터 내에서 리더 인스턴스에서 라이터 인스턴스로 쓰기 작업을 전달할 수 있습니다. 자세한 내용은 Aurora MySQL DB 클러스터에서 로컬 쓰기 전달 사용하기를 참조하세요.
  • autocommit이 비활성화된 세션에서 Amazon Aurora 글로벌 데이터베이스의 쓰기 전달 기능 사용을 위해 aurora_replica_read_consistency 파라미터의 값을 변경할 수 있는 기능이 추가되었습니다. 자세한 내용은 쓰기 전달을 위한 구성 파라미터를 참조하세요.
  • Aurora MySQL 3.04부터 글로벌 데이터베이스 쓰기 전달 기능을 위해 데이터베이스 클러스터 및 데이터베이스 인스턴스 파라미터 그룹을 통해 aurora_replica_read_consistency 파라미터의 값을 설정할 수 있습니다. Aurora MySQL 3.04 버전 이전까지, 이 파라미터의 값은 세션 단위에서만 구성할 수 있었습니다.

보안 문제 및 CVE 수정:

  • SSL/TLS 공급자를 OpenSSL에서 AWS-LC로 변경했습니다. 이는 다음을 포함하지만 이에 국한되지 않는 여러 가지 변화를 가져옵니다:
    • 이제 Aurora MySQL 버전 3.04.0에서 상위 버전으로 업그레이드할 때 제로 다운타임 재시작 및 제로 다운타임 패칭으로 SSL을 사용하는 데이터베이스 연결을 복원할 수 있습니다.
    • TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384 및 TLS_CHACHA20_POLY1305_SHA256 SSL 암호화에 대한 지원을 포함하는 TLSv1.3 지원.
    • 보안성이 낮은 DHE-RSA-* 암호화 알고리즘에 대한 지원 제거.
      자세한 내용은 Aurora MySQL DB 클러스터에서 TLS 사용하기를 참조하세요.
  • 동적 권한 SHOW_ROUTINErds_superuser_role에 추가되어 모든 스토어드 루틴, 예를 들어 스토어드 프로시저와 함수의 정의 및 속성에 접근할 수 있게 되었습니다. 자세한 내용은 SHOW_ROUTINE을 참조하세요.
  • 감사 로그 파일 순환(rotation) 중에 감사 로그에서 이벤트가 누락될 수 있는 문제를 수정했습니다.
  • TLS 1.2 버전과의 호환성을 유지하면서 안전하고 성능이 뛰어난 전송 계층 보안(TLS) 1.3 프로토콜에 대한 지원을 활성화했습니다.
  • TLS 버전 TLSv1 및 TLSv1.1은 커뮤니티 MySQL 8.0.26에서 더 이상 사용되지 않았으며 이에 따라 Aurora MySQL 3.03에서도 더 이상 사용되지 않습니다. 이러한 프로토콜은 이제 커뮤니티 MySQL 8.0.28에서 제거되었으며 이에 따라 Aurora MySQL 3.04에서도 제거되었습니다. 기본적으로 TLS 1.2 이상을 통해 통신할 수 없는 보안 클라이언트는 거부됩니다. TLS를 사용하여 데이터베이스 인스턴스에 연결하는 방법에 대한 자세한 내용은 Amazon Aurora MySQL 보안을 참조하세요.

이 릴리스는 다음 CVE 수정 사항이 포함되어 있습니다:

가용성 개선:

  • 긴 트랜잭션 복구 중에 데이터베이스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 데이터베이스 활동 스트림 이벤트 암호화 내에서 데이터베이스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 시작 중 또는 Aurora Serverless v2에서 스케일링하는 동안 InnoDB 버퍼 풀이 초기화될 때 메모리 부족 오류로 인한 메모리 관리 문제를 수정했습니다. 이 문제로 인해 데이터베이스 인스턴스가 다시 시작되거나 처리량 감소 또는 지연 시간 증가를 포함한 성능 저하가 발생했을 수 있습니다.
  • Aurora MySQL 병렬 쿼리 실행 계획을 활용하는 쿼리를 실행하는 동안 Aurora MySQL 리더 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 특정 상황에서 범위 추정 중에 Aurora 리더 인스턴스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 자동 증가(auto increment) 열을 포함한 대량 삽입 작업을 실행하는 동안 재시작이 발생한 경우, 시작 시 데이터베이스 복구가 중단될 수 있는 문제를 수정했습니다.
  • 서버 변수 server_audit_events가 ALL 또는 QUERY로 설정된 경우 Aurora MySQL 오류 로그에 정보 메시지가 과도하게 기록되는 Aurora 고급 감사 문제를 수정했습니다. 이 문제로 인해 데이터베이스 인스턴스가 다시 시작될 수 있습니다.
  • 병렬 쿼리가 활성화된 경우 INSERT 문의 롤백 중에 데이터베이스가 다시 시작될 수 있는 문제를 수정했습니다.
  • 쿼리에 대해 EXPLAIN ANALYZE 프로파일링 도구를 실행할 때 EXTRA 정보 열에 all select tables were optimized away라는 출력이 반환되는 경우 데이터베이스 인스턴스가 재시작될 수 있는 문제를 수정했습니다. 자세한 내용은 MySQL 문서의 EXPLAIN 출력 형식을 참조하세요.
  • 전역 쓰기 전달을 사용하는 Aurora 글로벌 데이터베이스에서 전달된 암시적 커밋 문에서 오류가 발생할 때 세컨더리 리전 리더 인스턴스가 재시작될 수 있는 문제를 수정했습니다.
  • Aurora 글로벌 데이터베이스 세컨더리 지역에서 글로벌 쓰기 포워딩을 통해 SELECT FOR UPDATE 쿼리를 실행할 때, Aurora 글로벌 데이터베이스 프라이머리 지역의 라이터 인스턴스가 재시작될 수 있는 문제를 수정했습니다.

일반 개선 사항:

  • 새로운 스토어드 프로시저 mysql.rds_gtid_purged를 추가하여 GTID_PURGED 시스템 변수를 설정할 수 있도록 했습니다. 자세한 내용은 mysql.rds_gtid_purged를 참조하세요.
  • mysql.rds_start_replication_untilmysql.rds_start_replication_until_gtid라는 두 개의 새로운 스토어드 프로시저를 추가하여 바이너리 로그(Binary Log) 복제를 중지할 위치를 구성할 수 있도록 했습니다. Aurora MySQL에서 바이너리 로그 복제의 중지 위치를 구성하는 방법에 대한 자세한 내용은 mysql.rds_start_replication_until를 참조하십시오.
  • 오토커밋 모드가 비활성화된 세션에서 호출될 때, Aurora MySQL 복제 제어 저장 프로시저sql_log_bin 변수를 수정하지 못하는 문제를 해결했습니다.
  • 다음 데이터 제어 언어(DCL) 문에 대한 논리적 복제(Logical Replication) 지원을 추가했습니다. GRANT/REVOKECREATE/DROP/ALTER/RENAME USER.
  • InnoDB 통계가 부실해지는 것을 방지하여 쿼리 실행 시간이 증가할 수 있는 비효율적인 쿼리 실행 계획이 생성되는 문제를 해결했습니다.
  • information_schema.aurora_global_db_instance_statusinformation_schema.aurora_global_db_status 시스템 뷰를 추가했습니다. 이러한 뷰를 사용하여 Aurora MySQL 글로벌 데이터베이스 클러스터(Global Database Cluster)의 프라이머리(Primary) 및 세컨더리(Secondary) 리소스의 상태와 토폴로지(Topology)를 표시할 수 있습니다. 두 시스템 뷰에 대한 자세한 내용은 Aurora MySQL–특정 information_schema 테이블에서 확인할 수 있습니다.
  • 이스케이프된 와일드카드 문자로 SET ROLE 문을 실행한 후 사용자가 데이터베이스 이름에 와일드카드 문자를 사용하여 데이터베이스에 액세스할 수 없는 문제를 해결했습니다.
  • 감사 로그 순환(Audit Log Rotation)을 처리하는 동안 보고된 이벤트가 감사 로그에 기록되지 않을 수 있는 문제를 해결했습니다.
  • TRIGGER 실행을 통해 내부 임시 테이블을 생성하면 작성기 데이터베이스 인스턴스(Writer Database Instance)가 다시 시작될 수 있는 문제를 해결했습니다.
  • innodb_aurora_max_partitions_for_range 시스템 변수를 추가했습니다. 지속된 통계를 사용할 수 없는 경우 이 매개변수를 사용하여 파티션된 테이블(Partitioned Table)에 대한 행 개수 예측의 실행 시간을 개선할 수 있습니다. 자세한 내용은 Aurora MySQL 구성 매개변수 문서에서 확인할 수 있습니다.
  • 파티션된 테이블을 생성할 때 ROW_FORMATCOMPRESSED로 설정할 수 있는 문제를 해결했습니다. 테이블은 Aurora MySQL에서 압축된 테이블을 지원하지 않는다는 경고와 함께 암시적으로 COMPACT 형식으로 변환됩니다.
  • replica_parallel_type 변수가 LOGICAL_CLOCK으로 설정되고 replica_preserve_commit_order 변수가 ON으로 설정된 경우 다중 스레드 바이너리 로그 복제가 중지될 수 있는 문제를 해결했습니다. 이 문제는 소스에서 500MB보다 큰 트랜잭션(Transaction)이 실행될 때 발생할 수 있습니다.
  • 글로벌 데이터베이스 쓰기 전달(Global Database Write Forwarding) 기능이 활성화된 경우 세컨더리 리전(Secondary Region)의 리더 인스턴스에서 performance_schema 구성 변경 사항이 프라이머리 리전(Primary Region)의 라이 인스턴스로 의도치 않게 전달될 수 있는 문제를 해결했습니다.
  • Aurora 스토리지 파일 시스템에서 데이터 페이지를 읽은 후 서버 상태 변수 innodb_buffer_pool_reads가 업데이트되지 않을 수 있는 문제를 해결했습니다.
  • Aurora I/O 최적화 클러스터 구성을 선택하면 Aurora MySQL 병렬 쿼리가 지원되지 않습니다. 자세한 내용은 Amazon Aurora MySQL 병렬 쿼리 제한 사항을 참조하세요.
  • 병렬 쿼리가 활성화된 경우 쿼리 계획 옵티마이저가 프라이머리 또는 세컨더리 인덱스의 이점을 얻는 특정 SELECT 쿼리에 대해 비효율적인 실행 계획을 선택하는 문제를 해결했습니다.
  • 시간대 정의를 IANA 2023c 버전으로 업그레이드했습니다.
  • 바이너리 로그 복제본에 대한 파일 관리 성능 최적화를 도입하여 릴레이 로그 파일에 쓸 때 경합을 줄였습니다.
  • information_schema.aurora_global_db_status 테이블의 RPO_LAG_IN_MILLISECONDS 열과 AuroraGlobalDBRPOLag CloudWatch 지표가 사용자 작업 부하에 관계없이 항상 0으로 표시되는 문제를 해결했습니다.
  • aurora_tmptable_enable_per_table_limit 매개변수를 도입했습니다. 이 매개변수를 활성화하면 tmp_table_size 변수가 TempTable 스토리지 엔진(Storage Engine)에서 생성된 개별 메모리 내부 임시 테이블(Internal Temporary Table)의 최대 크기를 정의합니다. 자세한 내용은 내부(암시적) 임시 테이블용 스토리지 엔진을 참조하세요.
  • 글로벌 데이터베이스 쓰기 전달 기능이 활성화된 경우 추가 연결이 생성되는 문제를 해결했습니다. 이 문제는 리더 인스턴스의 읽기 전용 트랜잭션이 암시적 커밋(Implicit Commit)을 작성기로 잘못 전달할 때 발생합니다
  • 글로벌 데이터베이스 쓰기 전달 기능을 사용하는 연결의 경우 프라이머리 리전의 작성기에서 performance_schema.threads 테이블의 PROCESSLIST_USERPROCESSLIST_HOST 필드가 채워지지 않는 문제를 해결했습니다. 이 테이블 및 성능 스키마(Performance Schema)에 대한 자세한 내용은 MySQL 참조 매뉴얼의 스레드 테이블과 Amazon Aurora 사용자 가이드의 퍼포먼스 스키마 개요를 참조하십시오.
  • 글로벌 데이터베이스 쓰기 전달 기능을 사용할 때 세컨더리 리전의 리더 인스턴스에 대해 CommitLatency Cloudwatch 지표가 잘못된 값을 표시하는 문제를 해결했습니다. 세컨더리 데이터베이스 클러스터에서 전달된 DML 문 레이턴시(Latency)를 모니터링하려면 ForwardingReplicaDMLLatencyForwardingWriterDMLLatency 지표를 사용하는 것이 좋습니다. 커밋 레이턴시는 프라이머리 리전의 작성기 인스턴스에서 CommitLatency 지표를 사용하여 관찰할 수도 있습니다. 자세한 내용은 Aurora 사용자 가이드의 쓰기 포워딩을 위한 Amazon CloudWatch 지표에서 확인할 수 있습니다.
  • replica_parallel_workers 변수의 값을 0보다 크게 설정하여 멀티 스레드 바이너리 로그 복제를 구성할 때 바이너리 로그 복제를 관리하고 구성하는 데 사용되는 Aurora MySQL 복제 제어 저장 프로시저가 잘못된 오류를 보고하는 문제를 해결했습니다.
  • 여러 세션이 메모리에 없는 페이지에 액세스하려고 할 때 높은 CPU 소비를 유발할 수 있는 문제를 해결했습니다.

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

  • Aurora MySQL 버전 3.01, 3.02 또는 3.03에서 Aurora MySQL 버전 3.04 이상으로 Aurora 글로벌 데이터베이스의 마이너 버전 업그레이드를 수행하려면 엔진 버전을 수정하여 Aurora MySQL 업그레이드하기를 참고하세요.
  • Aurora MySQL 2에서 Aurora MySQL 3으로 업그레이드할 때 mysql.general_log_backup, mysql.general_log, mysql.slow_log_backupmysql.slow_log 테이블에 대해 보고된 스키마 불일치 오류로 인해 업그레이드 사전 검사가 실패할 수 있는 문제를 해결했습니다. 업그레이드 문제 해결에 대한 자세한 내용은 Aurora MySQL 버전 3 업그레이드 문제 해결을 참조하십시오.
  • 트리거 정의에 따옴표로 묶이지 않은 예약 키워드가 포함된 경우 Aurora MySQL 3으로 업그레이드할 때 주 버전 업그레이드가 실패할 수 있는 문제를 해결했습니다.

MySQL 커뮤니티 에디션 버그 수정 통합

이 릴리스는 8.0.28까지의 모든 커뮤니티 버그 수정 사항이 포함되어 있으며, 다음 사항도 추가로 포함됩니다. 자세한 내용은 Aurora MySQL 3.x 데이터베이스 엔진 업데이트로 수정된 MySQL 버그에서 확인할 수 있습니다.

  • 내부 임시 테이블 페이지가 포함된 버퍼 블록이 페이지 순회 중에 재배치되어 어설션 실패를 일으키는 문제를 해결했습니다. (버그# 33715694)
  • InnoDB: 온라인 DDL 작업이 범위를 벗어난 메모리에 액세스하는 것을 방지합니다. (버그# 34750489, 버그# 108925)
  • 여러 개의 중첩된 공통 테이블 표현식(CTE)으로 구성된 복잡한 SQL 문을 처리하는 동안 잘못된 쿼리 결과가 생성될 수 있는 문제를 해결했습니다. (버그# 34572040, 버그# 34634469, 버그# 33856374)

Leave a Comment



이 문서 공유

Aurora MySQL v3.04.0 – MySQL 8.0.28 호환 (2023-07-31)

링크 복사

CONTENTS