Aurora MySQL 데이터베이스 엔진 업데이트 2022년 10월 25일(버전 2.11.0, MySQL 5.7.12와 호환) 이 버전은 새로 생성된 제품에는 사용할 수 없음 - Amazon Aurora

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Aurora MySQL 데이터베이스 엔진 업데이트 2022년 10월 25일(버전 2.11.0, MySQL 5.7.12와 호환) 이 버전은 새로 생성된 제품에는 사용할 수 없음

버전: 2.11.0

Aurora MySQL 2.11.0이 정식 출시되었습니다. Aurora MySQL 2.x 버전은 MySQL 5.7.12와 호환됩니다. 커뮤니티 변경 사항에 대한 자세한 내용은 Changes in MySQL 5.7.12(2016-04-11, General Availability)를 참조하세요.

현재 지원되는 Aurora MySQL 릴리스는 1.19.5, 1.19.6, 1.22.*, 1.23.*, 2.04.*, 2.07.*, 2.08.*, 2.09.*, 2.10.*, 2.11.*, 3.01.* 및 3.02.*입니다.

기존 Aurora MySQL 2.* 데이터베이스 클러스터를 Aurora MySQL 2.11.0으로 업그레이드할 수 있습니다. Aurora MySQL 버전 1을 실행하는 클러스터의 경우 기존 Aurora MySQL 1.23 이상의 클러스터를 2.11.0으로 직접 업그레이드할 수 있습니다. 또한 현재 지원되는 Aurora MySQL 릴리스에서 Aurora MySQL 2.11.0으로 스냅샷을 복원할 수 있습니다.

Aurora MySQL Global Database를 버전 2.11.*로 업그레이드하고 쓰기 전달을 활성화한 경우 쓰기 전달을 계속 사용하려면 기본 및 보조 DB 클러스터를 패치 수준을 포함하여 정확히 동일한 버전으로 업그레이드해야 합니다. Aurora 글로벌 데이터베이스의 마이너 버전 업그레이드에 대한 자세한 내용은 마이너 버전 업그레이드를 참조하세요.

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

참고

Aurora MySQL 데이터베이스 클러스터를 업그레이드하는 방법에 대한 자세한 내용은 Amazon Aurora 사용 설명서의 Aurora MySQL DB 클러스터의 부 버전 또는 패치 수준 업그레이드를 참조하세요.

개선 사항

아래 나열된 보안 문제 및 CVE 해결:

관리된 환경에서 처리를 미세 조정하기 위한 수정 사항 및 기타 향상된 기능 아래의 추가 CVE 수정:

새로운 기능:

  • Aurora MySQL 버전 2.11이 릴리스됨에 따라 새로운 운영 체제 업그레이드를 사용할 수 있습니다. 버전 2.11로 업그레이드한 후 보류 중인 이 OS 업데이트를 모든 Aurora MySQL 데이터베이스 인스턴스에 적용하는 것이 좋습니다. 자세한 내용은 운영 체제 업데이트 작업을 참조하세요.

  • 새로운 동적 구성 옵션인 innodb_deadlock_detect를 사용하여 교착 상태 감지를 비활성화할 수 있습니다. 동시성이 높은 시스템에서 수많은 스레드가 동일한 잠금을 기다릴 때 교착 감지로 인해 속도가 느려질 수 있습니다. 때로는 교착 상태 감지를 비활성화하고 교착 상태가 발생할 경우 innodb_lock_wait_timeout 설정을 사용하여 트랜잭션을 롤백하는 것이 더 효율적일 수 있습니다. (버그 #23477773) Innodb 교착 상태 감지에 대한 자세한 내용은 MySQL 설명서에서 확인할 수 있습니다.

  • MySQL 8.0의 UUID_TO_BIN, BIN_TO_UUIDIS_UUID 함수를 추가했습니다. 이러한 함수를 사용하는 방법에 대한 자세한 내용은 MySQL Miscellaneous function에서 확인할 수 있습니다.

  • 테이블별 또는 쿼리별로 Aurora MySQL 병렬 쿼리를 활성화하거나 비활성화할 수 있도록 최적화 프로그램 힌트에 대한 지원을 추가했습니다.

  • R3 인스턴스 유형 지원을 제거했습니다.

  • R6i 인스턴스에 대한 지원을 추가했습니다.

가용성 향상:

  • 오류 로그에 잘못된 binlog 파일 및 위치가 기록되어 데이터베이스 클러스터에서 크로스 리전 논리적 복제를 수행할 수 없게 되는 문제를 해결했습니다. 이 문제는 DDL 문을 실행한 후 엔진을 다시 시작할 때 발생할 수 있습니다.

  • 드문 경우지만 라이터 인스턴스에서 GRANT 및 FLUSH와 같은 액세스 제어 목록(ACL) 문을 실행할 때 Aurora 리더 인스턴스가 다시 시작될 수 있는 문제를 해결했습니다. 이 문제는 많은 수의 사용자와 ACL 작업(예: 권한 변경)이 있는 리더 인스턴스에 영향을 미칠 가능성이 높습니다.

  • 드문 경우지만 다른 트랜잭션에 의해 삭제되는 행에 트랜잭션이 액세스할 때 라이터 인스턴스가 다시 시작되거나 장애 조치될 수 있는 문제를 해결했습니다.

  • 전체 텍스트 인덱스가 있는 테이블에서 구문을 검색하는 데 걸리는 시간을 크게 줄일 수 있도록 전체 텍스트 구문 검색 성능을 개선했습니다.

  • 라이터 인스턴스가 재시작된 후 느린 복구 상태에서 멈췄다가 다시 재시작되는 문제를 해결했습니다. 이 문제는 처음 재시작될 때 데이터베이스에 커밋되지 않은 행이 많을 경우 발생합니다.

  • 드문 경우지만 교착 상태 감지기 스레드가 중단되면 긴 세마포어 대기로 인해 데이터베이스 서버가 다시 시작될 수 있는 문제를 해결했습니다.

  • 드문 경우지만 I/O 스레드가 교착 상태에 빠지면 긴 세마포어 대기로 인해 데이터베이스가 다시 시작될 수 있는 문제를 해결했습니다.

  • , 및 같은 쿼리를 실행할 때 불일치가 발생할 수 있는 문제로 인해 이 Aurora MySQL 버전에서는 빠른 삽입이 활성화되지 않았습니다. INSERT INTO SELECT FROM 빠른 삽입 최적화에 대한 자세한 내용은 Amazon Aurora MySQL 성능 개선을 참조하십시오.

일반적인 개선 사항:

  • 다음 조건이 모두 충족될 때 데이터베이스 서버가 다시 시작될 수 있는 문제를 해결했습니다.

    • ALLOW_INVALID_DATES가 SQL MODE에서 비활성화되어 있습니다.

    • 데이터베이스 서버가 DATETIME 유형의 값이 잘못된(월이 1에서 12 사이가 아님) INSERT, UPDATE, DELETE 또는 SELECT 문을 처리 중입니다.

  • log-bin이 OFF로 설정된 경우 바이너리 로그 보존 기간이 준수되지 않아 스토리지 사용률이 예상보다 높아지는 문제를 해결했습니다. 이 수정 후에는 보존 기간에 따라 바이너리 로그가 제거됩니다. 바이너리 로그 보존 기간을 구성하는 방법에 대한 자세한 내용은 Aurora MySQL 사용 설명서에서 확인할 수 있습니다.

  • GRANT, FLUSH PRIVILEGES 등과 같은 특정 데이터 제어 언어(DCL) SQL 문이 해당 인스턴스에서 실행될 때 데이터베이스 인스턴스에서 사용 가능한 메모리가 줄어들 수 있는 문제를 해결했습니다. 이러한 명령문을 자주 사용하면 사용 가능한 메모리가 계속 줄어들고 문제로 인해 데이터베이스 인스턴스가 다시 시작될 수 있습니다. out-of-memory 라이터 인스턴스에서 이러한 문을 사용하면 리더 인스턴스에서 사용 가능한 메모리가 줄어들 수도 있습니다.

  • 읽기 I/O 작업 수를 최소화하여 I/O 스레드와 SQL 스레드 간의 경합을 줄이기 위해 릴레이 로그에서 수행되는 읽기에 대해 더 큰 읽기 버퍼 크기를 도입했습니다.

  • "Table 'mysql.slow_log_backup' doesn't exist"라는 오류 메시지와 함께 mysql.rds_rotate_slow_log 저장 프로시저가 실패할 수 있는 문제를 해결했습니다.

  • 과도한 쿼리 캐시 무효화로 인해 읽기 전용 복제본이 쿼리 캐시 대신 디스크에서 데이터를 읽어야 하기 때문에 읽기 전용 복제본의 CPU 사용량과 지연 시간이 예상보다 높아지는 문제를 해결했습니다.

  • 리더 인스턴스에서 INSTALL PLUGIN 및 UNINSTALL PLUGIN 명령을 실행할 수 있도록 허용하여 LOCK_plugin, LOCK_system_variables_hash, LOCK_global_system_variables에서 교착 상태가 발생할 수 있는 문제를 해결했습니다. 이제 데이터베이스 클러스터의 라이터 인스턴스에서만 이러한 명령문을 실행할 수 있습니다.

  • 바이너리 로깅이 활성화되어 있을 때 클러스터의 커밋 지연 시간이 예상보다 길어질 수 있는 문제를 해결했습니다. 이는 대규모 binlog 이벤트(500MB 초과)를 생성하는 모든 트랜잭션에 영향을 줍니다.

  • INFORMATION_SCHEMA.INNODB_METRICS 테이블의 trx_active_transactions 지표에 잘못된 값이 있을 수 있는 문제를 해결했습니다.

  • 대규모 트랜잭션의 경우 저장점으로 롤백을 실행하는 동안 binlog 파일이 일관되지 않아 논리적 복제가 중지될 수 있는 문제를 해결했습니다.

  • 일반 로그에서는 마스킹된 자격 증명 해시를 사용하고 slow-query-log, 기본적으로 일관된 마스크 암호를 사용하는 audit-log와 audit-log에서 자격 증명 해시를 사용합니다. 이는 aurora_mask_password_hashes_type 파라미터를 통해 구성할 수 있습니다.

  • 고객이 관찰하는 이벤트에서 제로 가동 중지 다시 시작(ZDR) 기간이 잘못 보고되는 문제를 해결했습니다.

  • MySQL 서버 ERROR 1457로 인해 mysql_rds_import_binlog_ssl_material에 대한 직접 호출이 실패할 수 있는 문제를 해결했습니다.

  • 덤프 스레드 초기화가 바이너리 로그 제거 스레드로 인해 교착 상태에 빠질 수 있는 문제를 해결했습니다. 이로 인해 활성 binlog 파일이 교체되지 않고 계속 커지거나 새 binlog 복제본 연결에 문제가 발생할 수 있습니다.

  • 쿼리 캐시에서 Aurora 리더 복제본의 오래된 결과가 반환될 수 있는 문제를 해결했습니다.

MySQL Community Edition 버그 수정 통합

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

  • 성능 스키마 문 이벤트 테이블(예: events_statements_current)에서 문자 집합 정보를 읽는 코드가 해당 문자 집합 정보에 대한 동시 쓰기를 방지하지 못하는 문제를 해결했습니다. 결과적으로 SQL 쿼리 텍스트 문자 집합이 유효하지 않아 서버가 종료될 수 있었습니다. 이 수정을 사용하면 잘못된 문자 집합으로 인해 SQL_TEXT 열이 잘리며 서버가 종료되지 않습니다. (버그 #23540008)

  • InnoDB: 커뮤니티 버그 #25189192, 버그 #84038에 대한 수정 백포트. 테이블을 다른 스키마로 이동한 RENAME TABLE 작업 이후 InnoDB가 INNODB_SYS_DATAFILES 데이터 딕셔너리 테이블을 업데이트하지 못하는 문제를 해결했습니다. 이로 인해 다시 시작 시 테이블스페이스 데이터 파일을 찾을 수 없다는 오류가 발생했습니다.

  • InnoDB: 새 인덱스를 추가할 때 서버가 내부적으로 정의된 외래 키 인덱스를 삭제하고 가상 생성 열에 정의된 보조 인덱스를 외래 키 인덱스로 사용하려고 시도하여 서버가 종료되는 문제를 해결했습니다. InnoDB는 이제 외래 키 제약 조건이 가상 생성 열에 정의된 보조 인덱스를 참조하도록 허용합니다. (버그 #23533396)

  • INSERT ... ON DUPLICATE KEY UPDATE 작업을 동시에 실행하는 두 세션에서 교착 상태가 발생하는 문제를 해결했습니다. 튜플을 부분적으로 롤백하는 동안 다른 세션에서 튜플을 업데이트할 수 있습니다. 이 버그에 대한 수정은 버그 #11758237, 버그 #17604730 및 버그 #20040791에 대한 수정을 되돌립니다. (버그 #25966845)

  • 커뮤니티 버그 #27407480에 대한 수정 백포트: automatic_sp_privileges가 활성화된 경우에도 루틴 생성자에게 EXECUTE 및 ALTER ROUTINE 권한이 올바르게 부여되지 않는 문제를 해결했습니다.

  • 커뮤니티 버그#24671968에 대한 수정 백포트: WHERE 절에 종속 하위 쿼리가 포함되어 있고, 테이블에서 선택 목록의 열과 뒤따르는 하위 쿼리의 열에 보조 인덱스가 있고, GROUP BY 또는 DISTINCT가 쿼리에서 느슨한 인덱스 스캔을 사용하도록 허용하는 경우 쿼리가 잘못된 결과를 생성할 수 있는 문제를 해결했습니다.

  • 외래 키가 있는 여러 테이블에 대해 다중 테이블 삭제 문을 실행하면 복제가 중단되는 문제를 해결했습니다. (버그 #80821)

  • slave_skip_errors가 활성화된 상태에서도 특수한 경우에 특정 슬레이브 오류가 무시되지 않는 문제를 해결했습니다. 테이블 열기 및 잠금이 실패하거나 행 기반 복제를 실행하는 서버에서 필드 변환이 실패할 경우 오류가 심각한 것으로 간주되어 slave_skip_errors 상태가 무시됩니다. 이 수정을 통해 slave_skip_errors가 활성화된 상태에서 트랜잭션을 적용하는 동안 보고된 모든 오류가 올바르게 처리됩니다. (버그 #70640, 버그 #17653275)

  • SET PASSWORD 문이 MySQL 5.6 마스터에서 MySQL 5.7 슬레이브로 복제되거나 log_builtin_as_identified_by_password 시스템 변수가 ON으로 설정된 MySQL 5.7 마스터에서 MySQL 5.7 슬레이브로 복제되며 암호 해시 자체도 슬레이브에 저장되기 전에 해시되는 문제를 해결했습니다. 이제 이 문제가 해결되었으며 복제된 암호 해시가 원래 슬레이브에 전달된 대로 저장됩니다. (버그 #24687073)

  • 여러 수준의 JSON 배열, 객체 또는 둘 다로 래핑되어 있는 대규모 하위 문서로 구성된 JSON 값의 직렬화를 완료하는 데 때때로 과도한 시간이 소요되는 문제를 해결했습니다. (버그 #23031146)

  • 구문 오류 등으로 인해 구문 분석할 수 없는 문은 더 이상 느린 쿼리 로그에 기록되지 않습니다. (버그 #33732907)

Aurora MySQL 버전 1과의 비교

다음 Amazon Aurora MySQL 기능은 Aurora MySQL 버전 1(MySQL 5.6과 호환됨)에서 지원되지만 현재 이 기능은 Aurora MySQL 버전 2(MySQL 5.7과 호환됨)에서는 지원되지 않습니다.

MySQL 5.7 호환성

이 Aurora MySQL 버전은 MySQL 5.7과 연결성이 호환되며 JSON 지원, 공간 인덱스 및 생성된 열과 같은 기능이 포함되어 있습니다. Aurora MySQL은 z축 곡선을 사용하는 공간 인덱싱의 기본 구현을 사용하여 MySQL 5.7보다 20배 이상 높은 쓰기 성능과 10배 이상 높은 읽기 성능을 공간 데이터 집합에 제공합니다.

이 Aurora MySQL 버전은 현재 다음과 같은 MySQL 5.7 기능을 지원하지 않습니다.

  • 그룹 복제 플러그인

  • 페이지 크기 증가

  • 시작 시 InnoDB 버퍼 풀 로딩

  • InnoDB 풀 텍스트 구문 분석기 플러그인

  • 멀티 소스 복제

  • 온라인 버퍼 풀 크기 조정

  • 암호 확인 플러그인

  • 쿼리 다시 쓰기 플러그인

  • 복제 필터링

  • CREATE TABLESPACE SQL 문