---
title: "MySQL 8.0.35 릴리스 노트"
description: "MySQL 8.0.35 Community Server 릴리스 노트를 한국어로 번역하고, DBA가 참고해야 할 핵심 내용을 함께 정리하였습니다."
tags: [ MySQL, 릴리스노트 ]
image: "mysql-release-note.png"
author: "Oracle"
published: "2023-10-25"
updated: ""
source_url: "https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-35.html"
---

## DBA를 위한 핵심 내용

MySQL 8.0.35는 권한·인증·TLS·프로세스 모니터링의 향후 호환성 경고가 많이 들어간 릴리스입니다. 당장 장애를 일으키는 변경보다 “다음 업그레이드에서 깨질 수 있는 운영 관행”을 드러내는 성격이 강하며, 특히 `%`/`_` 권한 와일드카드, `'user'@'%'`와 `localhost`의 암묵적 관계, `INFORMATION_SCHEMA.PROCESSLIST` 의존성은 DBA가 미리 정리해야 합니다. Percona도 8.0.35의 권한 와일드카드 및 PROCESSLIST 변경이 운영 지원 이슈를 만들 수 있다고 지적했습니다. ([Percona Quick Peek: MySQL 8.2 and 8.0.35](https://www.percona.com/blog/quick-peek-mysql-8-2-and-8-0-35/))

1. 데이터베이스 권한에서 `%`, `_` 와일드카드 사용과 `'user'@'%'`가 `localhost`에도 적용되는 동작이 사용 중단되었습니다. 계정/권한 감사에서 `mysql.db`, `mysql.user` 패턴을 추출해 명시적 DB명·`localhost` 계정으로 정리해야 합니다.
2. `INFORMATION_SCHEMA.PROCESSLIST` 기반 모니터링은 Performance Schema 기반으로 전환을 준비하십시오. `SHOW PROCESSLIST` 구현과 `performance_schema_show_processlist` 관련 동작도 사용 중단 흐름에 들어갔으므로, 운영 대시보드·장애 스크립트의 조회 소스를 확인해야 합니다.
3. Group Replication은 8.0.35 이상 8.0 계열 간 조인/인플레이스 다운그레이드 조건이 완화되었습니다. 다만 primary는 여전히 그룹 내 가장 낮은 MySQL 버전이어야 하므로, 혼합 버전 롤링 업그레이드 계획에서 primary 선출 조건을 명시하십시오.
4. Windows에서 `innodb_flush_log_at_trx_commit=1`인데 redo log가 flush되지 않던 문제가 수정되었습니다. Windows 운영 환경은 내구성 관점에서 우선 검토 가치가 높고, 업그레이드 후 fsync/redo flush 지표를 확인해야 합니다.
5. 복제 writeset 생성 오류로 인한 가짜 duplicate key, binary log compression 메모리 계측 누락, prepared statement와 직접 실행 결과 불일치 등이 수정되었습니다. 병렬 복제·충돌 감지·prepared statement를 많이 쓰는 환경은 회귀 테스트에 포함하십시오.
6. FIDO 인증 플러그인, `mysql_ssl_set()`, `binlog_transaction_dependency_tracking`, 일부 TLS cipher가 사용 중단되었습니다. 보안 정책 및 커넥터 빌드 옵션을 확인하고, 오래된 클라이언트와 자동화가 경고를 새 오류로 오인하지 않는지 점검하십시오.
7. Google Cloud는 MySQL 8.0.35 이하에서 view 조회 메모리 누수 이슈를 8.0.36 이상으로 해결하라고 안내합니다. view-heavy 워크로드는 8.0.35에 머무르기보다 후속 버전 검토가 더 안전합니다. ([Google Cloud Known Issues](https://docs.cloud.google.com/sql/docs/mysql/known-issues-in-mysql-8.0-minor-versions))

## Audit Log 관련 사항

- MySQL Enterprise Audit 제거를 간소화하기 위해 새 `audit_log_filter_uninstall.sql` 스크립트가 추가되었습니다. 이 플러그인에 대한 정보는 [MySQL Enterprise Audit](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/audit-log.html)을 참조하십시오. (Bug #35611072)

## Authentication 관련 사항

- Pluggable FIDO authentication 방법은 사용 중단되었으며 향후 MySQL 릴리스에서 제거될 수 있습니다. (WL #15006)

## C API 관련 사항

- MySQL 5.1 및 MySQL 5.0과 같은 이전 배포판에는 pluggable authentication을 알리지 않는 서버가 포함되어 있었습니다. pluggable authentication 방법 중 하나를 사용하는 최신 클라이언트가 이러한 이전 서버 중 하나에 연결을 시도하면, 서버는 “bad handshake” 오류 메시지를 출력했습니다. 이 수정으로 이제 클라이언트 측 authentication(구체적으로 `--default-auth` 옵션)이 pluggable authentication을 지원하지 않는 서버를 포함하여 모든 서버에서 올바르게 작동하도록 보장됩니다. 또한 서버가 pluggable authentication을 지원하지 않는 경우 이제 기본 authentication 방법으로 `caching_sha2_password` 대신 `mysql_native_password`가 사용됩니다. (Bug #90994, Bug #28082093)
- [`mysql_ssl_set()`](https://docs.oracle.com/cd/E17952_01/c-api-8.0-en/mysql-ssl-set.html) C API 함수는 사용 중단되었으며 향후 MySQL 릴리스에서 제거될 수 있습니다. 모든 [`mysql_ssl_set()`](https://docs.oracle.com/cd/E17952_01/c-api-8.0-en/mysql-ssl-set.html) 매개변수에 대해 동등한 [`mysql_options()`](https://docs.oracle.com/cd/E17952_01/c-api-8.0-en/mysql-options.html) TLS 옵션이 있습니다. (WL #11091)

## 컴파일 관련 사항

- [`WITH_DEVELOPER_ENTITLEMENTS`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/source-configuration-options.html#option_cmake_with_developer_entitlements) macOS CMake 옵션을 수정했습니다. 이 옵션은 오타로 인해 활성화되지 않았습니다. (Bug #35374026)
- Clang 12로 컴파일할 때 생성되던 문자열 연결 경고를 수정했습니다. (Bug #111614, Bug #35549962)
- [`WITH_ZLIB`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/source-configuration-options.html#option_cmake_with_zlib) 기능을 추가로 개선했습니다.

  기여해 주신 Nikolai Kostrigin님께 감사드립니다. (Bug #111549, Bug #35534309)
- WITH_PROTOBUF=system으로 빌드할 때 Protobuf 22 이상에서는 Protobuf 22가 Abseil 의존성을 추가했기 때문에 실패했습니다. (Bug #111469, Bug #111623, Bug #35546459, Bug #35550389)
- [`WITH_ZLIB`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/source-configuration-options.html#option_cmake_with_zlib)="system"으로 빌드하면 ZLIB를 찾지 못해 MySQL 빌드가 중단되었습니다.

  이 수정에 기여해 주신 Meng-Hsiu Chiang님과 Amazon 팀에 감사드립니다. (Bug #111467, Bug #35511210)

  참조: 이 문제는 다음 버그의 회귀입니다: Bug #35057542.
- EL7 aarch64 기반 플랫폼에서 CPU 캐시 라인 크기 가져오기가 0을 반환하는 방식과 관련되어 MySQL 서버가 예기치 않게 중단되던 문제를 수정했습니다. (Bug #110752, Bug #35479763)

  참조: 함께 참조하십시오: Bug #107081, Bug #34095278.
- C++ 표준화 위원회의 라이브러리 워킹 그룹은 최근 `std::pair`에 대해 비교 연산자가 정의되는 방식을 변경하는 문제([LWG-3865 *Sorting a range of pairs*](https://cplusplus.github.io/LWG/issue3865))를 해결했습니다. 이 수정은 이 변경에 맞추기 위해 `sql/auth`의 두 파일에서 사용되는 동등 연산자를 업데이트합니다.

  Microsoft Visual Studio 팀의 제안을 기반으로 했습니다. (Bug #110254, Bug #35137978)

## 사용 중단 및 제거 관련 사항

- **Replication:** `binlog_transaction_dependency_tracking` 서버 시스템 변수는 이제 사용 중단되었으며, 향후 MySQL 버전에서 제거될 수 있습니다. 이 변수의 값을 설정하거나 조회하면 이제 경고가 발생하며, 동등한 시작 옵션인 `--binlog-transaction-dependency-tracking`을 사용하는 경우에도 경고가 발생합니다. 이 변수(또는 옵션)에 의존하는 애플리케이션은 가능한 한 빨리 이 변수에서 벗어나도록 마이그레이션을 시작해야 합니다. 이 변수 또는 그 기능에 대한 대체 항목은 계획되어 있지 않으며 필요하지도 않습니다. (WL #13964)
- `old` 및 `new` 서버 시스템 변수는 이제 사용 중단되었으며, 이 변수 중 하나가 설정되거나 읽힐 때마다 이제 경고가 발생합니다. 이러한 변수는 향후 MySQL 버전에서 제거될 것으로 예상해야 하며, 이에 의존하는 애플리케이션은 가능한 한 빨리 이러한 의존성에서 벗어나도록 마이그레이션해야 합니다. (WL #8609)
- 매우 오래된 MySQL 버전에서의 업그레이드에 사용하도록 원래 의도되었던 `--character-set-client-handshake` 서버 옵션은 이제 사용 중단되었으며, 이 옵션이 사용될 때마다 경고가 발생합니다. 이 옵션은 향후 MySQL 버전에서 제거될 것으로 예상해야 하며, 이 옵션에 의존하는 애플리케이션은 가능한 한 빨리 이 옵션에서 벗어나도록 마이그레이션을 시작해야 합니다. (WL #13220)
- 이 릴리스의 두 가지 변경 사항은 MySQL에서 권한 부여에 영향을 줍니다. 이러한 변경 사항 중 하나는 데이터베이스 권한 부여에 영향을 주며, 다른 하나는 권한 부여에 사용되는 호스트 이름과 관련됩니다. 이러한 변경 사항은 다음과 같습니다:

  - **데이터베이스 수준 권한 부여.** 데이터베이스 수준 권한 부여에서 `%` 및 `_` 문자를 와일드카드로 사용하는 것은 이제 사용 중단되었으며, 이 와일드카드 기능은 향후 MySQL 릴리스에서 제거될 것으로 예상해야 합니다. 의도는 [`partial_revokes`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/server-system-variables.html#sysvar_partial_revokes) 서버 시스템 변수의 값이 `ON`일 때 이미 항상 리터럴로 처리되는 것처럼, 이러한 문자가 항상 리터럴로 처리되도록 하는 것입니다.

    예를 들어 `partial_revokes`가 `ON`으로 설정된 경우, `GRANT SELECT ON db_.* TO user1`은 `user1`이 `db_`라는 이름의 데이터베이스에 있는 모든 테이블에서 선택할 수 있도록 허용하지만, `user1`이 데이터베이스 `db1`, `db2`, `dbx`, `dby` 등의 테이블에서 선택할 수 있도록 허용하지는 않습니다. 권한 부여에서 데이터베이스 이름의 와일드카드 지원이 제거되면 항상 이러한 동작이 적용될 것으로 예상해야 합니다.
  - **권한 부여의 호스트 이름 '%'.** 권한을 확인할 때 서버가 `%`를 `localhost`의 동의어로 처리하는 동작도 이제 사용 중단되었으며, 따라서 향후 MySQL 버전에서 제거될 수 있습니다.

    현재 `'user1'@'%'`에 부여된 권한은 `'user1'@'localhost'`에도 부여됩니다. 이 자동 할당은 이제 사용 중단되며, 해당 동작이 제거되면 항상 `localhost` 호스트 이름을 사용하여 `'user1'@'localhost'`에 명시적으로 권한을 부여해야 합니다.

  나열된 두 경우 모두 사용자 세션이나 로그에서 경고 또는 오류가 발생하지 않습니다. 그렇게 하면 이러한 메시지가 매우 빠르게 대량으로 생성될 수 있기 때문입니다.

  (WL #14280, WL #15676)

- [`INFORMATION_SCHEMA.PROCESSLIST`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/information-schema-processlist-table.html)는 사용 중단되었으며 향후 MySQL 릴리스에서 제거될 수 있습니다. 따라서 해당 테이블을 사용하는 [`SHOW PROCESSLIST`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/show-processlist.html)의 구현도 사용 중단되었습니다.

  대신 [`SHOW PROCESSLIST`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/show-processlist.html)의 Performance Schema 구현을 사용하는 것이 권장됩니다. 따라서 [`performance_schema_show_processlist`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/performance-schema-system-variables.html#sysvar_performance_schema_show_processlist)도 사용 중단되었으며 향후 MySQL 릴리스에서 제거될 수 있습니다. (WL #15915)
- `TLS_AES_128_CCM_8_SHA256` 암호 스위트에 대한 지원은 이제 사용 중단되었으며 향후 MySQL 버전에서 제거될 수 있습니다. [`tls_ciphersuites`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/server-system-variables.html#sysvar_tls_ciphersuites) 또는 [`admin_tls_ciphersuites`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/server-system-variables.html#sysvar_admin_tls_ciphersuites) 시스템 변수 중 하나를 사용하여 이를 설정하려는 모든 시도는 이제 경고를 반환합니다. 기본적으로 두 시스템 변수는 다음 암호 스위트를 허용합니다:

  - `TLS_AES_128_GCM_SHA256`
  - `TLS_AES_256_GCM_SHA384`
  - `TLS_CHACHA20_POLY1305_SHA256`
  - `TLS_AES_128_CCM_SHA256`

  이전에 지원되던 여러 암호가 이제 사용 중단되었으며 향후 MySQL 버전에서 제거될 수 있습니다. 사용 중단된 암호가 [`ssl_cipher`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/server-system-variables.html#sysvar_ssl_cipher) 또는 [`admin_ssl_cipher`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/server-system-variables.html#sysvar_admin_ssl_cipher) 시스템 변수 중 하나를 사용하여 지정되면 이제 경고가 발생합니다. 다음 암호는 사용 중단 경고를 내보내지 않고 계속 지원됩니다:

- `ECDHE-ECDSA-AES128-GCM-SHA256`
  - `ECDHE-ECDSA-AES256-GCM-SHA384`
  - `ECDHE-RSA-AES128-GCM-SHA256`
  - `ECDHE-RSA-AES256-GCM-SHA384`
  - `ECDHE-ECDSA-CHACHA20-POLY1305`
  - `ECDHE-RSA-CHACHA20-POLY1305`
  - `ECDHE-ECDSA-AES256-CCM`
  - `ECDHE-ECDSA-AES128-CCM`
  - `DHE-RSA-AES128-GCM-SHA256`
  - `DHE-RSA-AES256-GCM-SHA384`
  - `DHE-RSA-AES256-CCM`
  - `DHE-RSA-AES128-CCM`
  - `DHE-RSA-CHACHA20-POLY1305`

  (WL #15800)

## SQL 함수 및 연산자 관련 사항

- [`STR_TO_DATE()`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/date-and-time-functions.html#function_str-to-date) 함수가 변환할 문자열에 대해 완전한 범위 검사를 수행하지 않았으므로, `'2021-11-31'`과 같은 잘못된 날짜를 산출하는 문자열을 전달할 수 있었습니다. (Bug #108782, Bug #34704094)

## 패키징 관련 사항

- Windows에서 MSI 패키지 정의 파일은 Windows Installer XML (WiX) toolset 버전 4와 함께 작동하도록 업데이트되었습니다. 이 파일은 더 이상 이전 버전의 toolset과 함께 사용할 수 없다는 점에 유의하십시오. (Bug #35613791)
- 번들로 제공되는 `libedit` 라이브러리가 버전 20221030-3.1로 업그레이드되었습니다. (Bug #35489173)

## 보안 관련 사항

- 시스템 curl 라이브러리에 링크하지 않고 curl을 포함하는 바이너리 패키지가 curl 8.4.0을 사용하도록 업그레이드되었습니다. curl 버전 8.4.0에서 수정된 중요한 문제는 [https://curl.se/docs/security.html](https://curl.se/docs/security.html)에 설명되어 있습니다. (Bug #35897778)

  참조: 함께 참조하십시오: Bug #35709229.

## 추가되거나 변경된 기능

- **호환되지 않는 변경:** 번들로 제공되는 libfido2 라이브러리를 libfido2 v1.13.0으로 업그레이드했습니다. 이 libfido2 버전은 OpenSSL 1.1.1 이상을 요구하며, 이는 authentication_fido 및 authentication_fido_client 인증 플러그인이 더 이상 다음 플랫폼에서 사용할 수 없음을 의미합니다: Enterprise Linux 6 및 7, Solaris 11, SLES 12. (Bug #35685515)
- **중요한 변경; Group Replication:** 그룹에 대한 버전 요구 사항은 이 릴리스부터 다음과 같이 완화됩니다:

  - 버전 8.0.35 *이상*의 모든 MySQL 8.0 릴리스를 실행하는 서버는 같은 그룹에 조인할 수 있습니다.
  - 8.0.35*보다 최신*인 모든 MySQL 8.0 릴리스를 실행하는 그룹 멤버는 제자리에서 이전 릴리스로 다운그레이드할 수 있습니다.

  이 변경 사항은 선택될 때 primary가 그룹에 있는 가장 낮은 MySQL 버전을 실행해야 한다는 요구 사항에는 영향을 주지 않습니다. 이는 자동으로 수행되든, [`group_replication_set_as_primary()`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/group-replication-functions-for-new-primary.html#function_group-replication-set-as-primary)를 실행하여 수행되든 그대로 유지됩니다. (Bug #35397276)
- **중요한 변경:** OpenSSL 라이브러리가 번들로 제공되는 플랫폼의 경우, MySQL Server에 링크된 OpenSSL 라이브러리가 버전 3.0.10으로 업데이트되었습니다. OpenSSL 버전 3.0.10에서 수정된 문제는 [https://openssl-library.org/news/openssl-3.0-notes/](https://openssl-library.org/news/openssl-3.0-notes/)에 설명되어 있습니다. (Bug #35702863, Bug #35732474)

## 수정된 버그

- **Performance:** `records_in_range`가 삽입 작업에 대해 과도한 수의 디스크 읽기를 수행했습니다.

  기여해 주신 Facebook에 감사드립니다. (Bug #109595, Bug #34976138)
- **InnoDB:** FTS 파서 플러그인에 의한 단일 문자 토큰 처리를 수정했습니다.

  기여해 주신 Shaohua Wang에게 감사드립니다. (Bug #35432973)
- **InnoDB:** Windows에서 [`innodb_flush_log_at_trx_commit=1`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit)인 경우에도 redo 로그 파일이 플러시되지 않았습니다. (Bug #112078, Bug #35713721)
- **InnoDB:** ALTER TABLE EXCHANGE PARTITIONS 문에서 비롯된 잠재적인 트랜잭션 롤백 문제를 수정했습니다. (Bug #110869, Bug #35352168)

  참조: 이 문제는 다음의 회귀입니다: Bug #33700835.
- **InnoDB:** 여러 컬럼에 걸친 full-text 인덱스를 생성할 때, 인덱스 생성이 "ERROR 1062 (23000): Duplicate entry 'NULL-NULL'."와 유사한 오류로 실패할 수 있었습니다. (Bug #109242, Bug #33542939, Bug #34846823)
- **InnoDB:** 엔진 상태 로그의 마지막으로 감지된 교착 상태 섹션은 결합된 스레드 및 쿼리 정보에 대해 1024자만 표시했습니다. 출력되는 쿼리 문자열 제한을 제거하여 수정했습니다. (Bug #80927, Bug #23036096)
- **Replication:** 바이너리 로그 압축에서 사용하는 메모리가 계측되지 않았습니다. (Bug #35290223)

- **Replication:** 트랜잭션 간의 의존성과 충돌을 감지하기 위해 MySQL Replication은 [`binlog_format`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/replication-options-binary-log.html#sysvar_binlog_format)이 `ROW`이고 `transaction_write_set_extraction`이 활성화되어 있을 때(두 경우 모두 기본값), `NOT NULL`인 키(정의상 기본 키 및 `NOT NULL`인 유니크 키와 외래 키)에서 추출되는 writeset을 사용합니다. 컬럼 값의 선행 부분만 사용하는 다중 컬럼 유니크 키([Column Prefix Key Parts](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/create-index.html#create-index-column-prefixes) 참조)의 경우, writeset이 올바르게 생성되지 않아 때때로 가짜 중복 키 오류가 발생했습니다. 이는 이러한 경우 키 자체는 컬럼 접두사만 참조했음에도, 참조된 키 컬럼의 전체 값이 writeset에 추가되었기 때문입니다. (Bug #111027, Bug #35404584)
- MySQL 8.0.23에서 적용된 변경 이후, 이전에는 [`GROUP_CONCAT()`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/aggregate-functions.html#function_group-concat)가 `NULL`을 반환했던 일부 경우에 더 이상 그렇게 하지 않았습니다. (Bug #35730982)

  참조: 이 문제는 다음의 회귀입니다: Bug #32053547.

- 쿼리의 `WHERE` 조건과 일치하는 로우가 없을 때, ([`PREPARE`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/prepare.html)를 사용하여) 준비된 쿼리의 결과가 동일한 쿼리를 직접 실행했을 때의 결과와 달랐습니다. (Bug #35689804)
- [`INTERSECT`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/intersect.html)를 사용하는 일부 쿼리가 항상 올바르게 처리되지는 않았습니다. (Bug #35504625)

  참조: 다음도 참조하십시오: Bug #35362424.
- 일부 경우에 [`QUOTE()`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/string-functions.html#function_quote) 함수가 예상된 `NULL`이 아니라 바이너리 데이터를 반환했습니다. (Bug #35499232)
- 이전에는 [`audit_log_rotate()`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/audit-log-reference.html#function_audit-log-rotate)를 수동으로 실행하면 출력 성능이 낮고, 서버의 워크로드가 많으며, [`audit_log_strategy`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/audit-log-reference.html#sysvar_audit_log_strategy) 시스템 변수의 쓰기 전략이 `ASYNCHRONOUS` 또는 `PERFORMANCE`인 경우 함수가 응답하지 않는 것처럼 보일 수 있었습니다. (Bug #35397216)
- 일부 경우에 [`QUOTE()`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/string-functions.html#function_quote) 함수가 이전에 null을 허용하지 않는 것으로 해석되었음에도 `NULL`을 반환했습니다. (Bug #35381715)

  참조: 다음도 참조하십시오: Bug #35145246, Bug #35195181.

- 첫 번째 호출 이후 올바르게 실행되지 않는 저장 프로그램에 대한 MySQL 8.0.30의 이전 수정은 해당 저장 프로그램에 [`SET`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/set.html) 문이 포함된 경우를 처리하지 않았습니다.

  기여해 주신 Hao Lu에게 감사드립니다. (Bug #35328028)

  참조: 이 문제는 다음 버그의 회귀입니다: Bug #33754993.
- 저장 함수와 관련된 문제는 컬럼 간 값을 복사하는 데 사용되는 내부 함수를 개선하기 위해 이전에 수행된 작업으로부터 발생한 회귀로 확인되었습니다. (Bug #35150382)

  참조: 이 문제는 다음 버그의 회귀입니다: Bug #32742537.
- 일부 캐시된 쿼리가 항상 올바르게 처리되지는 않았습니다.

  기여해 주신 Nicholas Othieno 및 Amazon에게 감사드립니다. (Bug #35105404, Bug #35511208)
- 상용 빌드에 번들로 포함된 Kerberos 라이브러리를 버전 1.21.2로 업데이트했습니다. (Bug #35001935)
- 트리거가 있는 테이블에 대한 일부 삽입이 항상 올바르게 처리되지는 않았습니다. (Bug #34920120)

  참조: 다음도 참조하십시오: Bug #35178672, Bug #35195079.
- `FORMAT = JSON`을 사용하는 일부 [`DESCRIBE`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/describe.html) 문이 항상 올바르게 처리되지는 않았으며, 때때로 디버그 빌드에서 어설션이 발생했습니다. (Bug #34909766)
- 여러 공통 테이블 표현식을 사용하는 일부 복잡한 쿼리가 항상 올바르게 처리되지는 않았습니다. (Bug #34900334)

  참조: 이 문제는 다음 버그의 회귀입니다: Bug #34377854.

- window 함수를 사용하는 일부 쿼리가 올바르게 푸시다운되지 않았습니다. (Bug #34778435)
- 여러 common table expression을 사용하는 일부 복잡한 쿼리가 항상 올바르게 처리되지는 않았습니다. (Bug #112021, Bug #35284734, Bug #35694546)

  참조: 함께 참조하십시오: Bug #111994, Bug #35686058. 이 문제는 다음의 회귀입니다: Bug #34377854.
- Enterprise Linux의 경우 krb5-devel 빌드 요구 사항을 commercial 빌드에서 모든 빌드로 변경했습니다. (Bug #111596, Bug #35546449)
- 고아 SQL 객체를 확인할 때 [`CREATE ROLE`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/create-role.html) 및 [`DROP ROLE`](https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/drop-role.html) 문이 올바르게 처리되지 않았습니다. (Bug #111303, Bug #35471453)
- `Clone_Snapshot::extend_and_flush_files()`는 항상 `OS_CLONE_DATA_FILE` 타입의 파일을 생성했습니다. 이 함수는 redo log 파일을 처리하기 위해 `flush_redo()`를 사용하며, 해당 파일은 `OS_CLONE_LOG_FILE` 타입이어야 하므로, 때때로 `os_file_set_size()`에서 오류가 발생할 수 있었습니다.

  이제 새 파일을 생성할 때 타입이 올바르게 설정되도록 보장하여 이 문제가 수정되었습니다.

  기여해 주신 Tencent에 감사드립니다. (Bug #110569, Bug #35240055)
- low limit heuristic은 잘못된 인덱스를 선택했기 때문에 `ORDER BY DESC`에서 제대로 작동하지 않았습니다. (Bug #107626, Bug #34306497)
