Skip to main content

MySQL 8.4 변경 사항 및 엔진 업그레이드 사전 점검 가이드

· 7 min read
Kate (김소희)
Service Manager
MySQL

MySQL 8.0 시리즈가 4월 말로 공식 지원 종료(EOL, End of Life) 시점에 도달하여, 향후 보안 업데이트 및 기술 지원이 중단될 예정입니다. 이에 카카오클라우드는 서비스 안정성과 보안 강화를 위해 MySQL LTS(Long Term Support, 장기 지원) 8.4 버전으로 엔진 업그레이드를 권장하며, Maintenance 서비스를 통한 MySQL Engine Update 작업을 지원하고 있습니다.

현재 MySQL 8.0 엔진을 사용하는 모든 인스턴스 그룹은 사용자가 원하는 일자와 시간을 직접 지정하여 8.4 버전으로 엔진 업그레이드를 진행할 수 있습니다. 다만, 메이저 버전 업데이트인 만큼 실제 작업에 앞서 하위 호환성이나 시스템 변수 변경 등 기술적인 검토가 선행되어야 합니다.

따라서 이번 포스트에서는 MySQL 8.0에서 8.4 시리즈로 업데이트하기 전, 안정적인 서비스 운영을 위해 반드시 확인해야 할 주요 변경 사항과 핵심 점검 항목을 상세히 공유해 드리고자 합니다.


MySQL 8.4 시리즈 주요 변경 사항

8.4 LTS 버전은 성능 최적화와 보안 강화를 위해 다양한 기본값 변경 및 기능 개선이 이루어졌습니다.

1. 기본 인증 플러그인 변경

기존에 사용되던 mysql-native-password가 제거되고, caching_sha2_password가 기본 인증 플러그인(password plugin)으로 설정되었습니다.

note

다른 인증 방식을 유지해야 하거나 추가 설정이 필요한 경우에는 authentication_policy 공식 문서를 참고하여 파라미터를 조정하시기 바랍니다.

2. 파라미터 기본값 변경

아래 표의 내용은 MySQL 공식 문서에서 발췌 및 번역한 내용으로, 8.4 LTS 버전에서는 시스템 성능을 극대화하기 위해 주요 파라미터의 기본값이 대폭 수정되었습니다.

특히 InnoDB I/O 용량과 로그 버퍼 크기 등 리소스 할당 방식이 최신 하드웨어 사양에 맞춰 최적화되었으므로, 업그레이드 전 반드시 기존 설정값과 비교해 보시기 바랍니다. 파라미터 그룹의 생성과 관리에 대한 구체적인 방법은 별도 문서에서 확인하실 수 있습니다.

성능 및 I/O 관련 변경

파라미터MySQL 8.4MySQL 8.0
innodb_io_capacity10000200
innodb_io_capacity_maxinnodb_io_capacity2배    동일 (최소 기본값 2000)
innodb_flush_method (Linux)O_DIRECT (미지원 시 fsync)fsync
innodb_use_fdatasyncONOFF
innodb_read_io_threads논리 프로세서 수의 1/2 (최소 4)4
innodb_parallel_read_threads논리 프로세서 수의 1/8 (최소 4)4

메모리 및 버퍼 관리

파라미터MySQL 8.4MySQL 8.0
innodb_buffer_pool_instancesinnodb_buffer_pool_size1 GiB 이하1
1 GiB 초과 → CPU/청크 기반 자동 계산 (1~64)    
8 (단, 1 GiB 미만이면 1)
innodb_log_buffer_size64 MiB (67,108,864)16 MiB (16,777,216)
innodb_buffer_pool_in_core_fileMADV_DONTDUMP 지원 시 OFF, 미지원 시 ONON
innodb_numa_interleaveONOFF

InnoDB 동작 방식 변경

파라미터MySQL 8.4MySQL 8.0
innodb_change_bufferingnone (사용 안 함)all
innodb_adaptive_hash_indexOFFON
innodb_page_cleanersinnodb_buffer_pool_instances와 동일    4
innodb_purge_threads논리 프로세서 ≤ 16 → 1
16 초과 → 4
4

Doublewrite 및 로그 처리

파라미터MySQL 8.4MySQL 8.0
innodb_doublewrite_files2innodb_buffer_pool_instances의 2배
innodb_doublewrite_pages128      innodb_write_io_threads 값 (기본 4)

자동화 및 서버 설정

파라미터MySQL 8.4MySQL 8.0
--innodb-dedicated-server활성 시 flush_method 변경 없음
Redo 로그 용량 계산 방식이 메모리 → CPU 기반으로 변경    
OFF

TempTable 동작 변경

파라미터MySQL 8.4MySQL 8.0
temptable_max_ram전체 메모리의 3% (1~4 GiB 범위 자동 조절)    1 GiB (1,073,741,824)
temptable_max_mmap0 (사용 안 함)1 GiB
temptable_use_mmapOFFON

3. Automatic Histogram 업데이트 기능 추가

쿼리 최적화를 위한 histogram 자동 업데이트 기능이 추가되었습니다.
이전 버전에서는 ANALYZE TABLE을 통해 histogram을 수동으로 갱신해야 했지만, MySQL 8.4부터는 조건에 따라 자동으로 업데이트됩니다.

자세한 적용 방법은 ANALYZE TABLE 문서를 참고하시기 바랍니다.

4. 복제 SQL 구문 변경

복제 관련 용어가 기존 MASTER/SLAVE에서 SOURCE/REPLICA로 변경되었으며, 이에 따라 주요 SQL 구문도 다음과 같이 변경되었습니다.

MySQL 8.4MySQL 8.0기능
SHOW BINARY LOG STATUSSHOW MASTER STATUS현재 서버의 시작 위치인 바이너리 로그 위치 (파일명, 포지션)
SHOW BINARY LOGSSHOW MASTER LOGS서버 내 바이너리 로그 파일 목록
SHOW REPLICA STATUSSHOW SLAVE STATUS복제 상태 상세 정보 (IO/SQL 스레드, 지연 등)
SHOW REPLICASSHOW SLAVE HOSTS현재 서버에 연결된 Replica 목록

안정적인 업그레이드를 위한 필수 체크리스트

업그레이드 과정에서 발생할 수 있는 서버, 인증, 애플리케이션 관련 장애를 방지하기 위해 다음 사항을 반드시 사전에 확인해 주시기 바랍니다.

1.MySQL Shell Upgrade Checker

업그레이드 전 리소스의 호환성을 면밀히 검토하기 위해 MySQL Shell 전용 유틸리티를 활용하는 것이 중요합니다. 이 도구는 다음과 같은 항목들을 자동으로 분석하여 안정성을 진단합니다.

  • 서버 설정 및 스키마 구조 점검
  • 실행 중인 SQL 쿼리의 호환성 확인
  • 제거된 기능 및 신규 예약어 충돌 탐지

이러한 점검을 통해 지원이 중단되는(Deprecated) 옵션 등을 미리 파악함으로써, 업그레이드 직후 발생할 수 있는 서버 기동 실패나 예기치 못한 기능 오류를 효과적으로 예방할 수 있습니다.

2. 인증 플러그인(password plugin) 호환성 확인

MySQL 버전 업그레이드 시 데이터베이스의 기본 인증 방식이 변경될 수 있으므로, 현재 애플리케이션 환경에서의 인증 플러그인 호환성을 반드시 점검해야 합니다. 최신 플러그인을 지원하지 않는 구형 환경에서는 업그레이드 후 즉시 로그인 실패 장애가 발생할 수 있습니다.

특히 caching_sha2_password와 같은 최신 플러그인을 지원하는지 확인합니다. 미지원 환경일 경우, 로그인 자체가 실패할 수 있기 때문에 사전에 사용자 계정의 인증 플러그인을 점검해 드라이버 업그레이드 또는 플러그인 변경 여부를 확인해야 합니다.

3. MySQL Connector(드라이버) 사전 점검

애플리케이션에서 사용하는 MySQL connector와 서버 버전 간의 호환성을 반드시 사전에 확인해야 합니다.
MySQL Connector/J 등 언어별 드라이버는 서버 버전에 따라 인증, 프로토콜, 옵션 호환성에 영향을 받습니다. 구버전 드라이버를 사용할 경우 연결 실패, TLS 오류, 쿼리 동작 이상 등의 문제가 발생할 수 있기 때문에 사전에 드라이버 호환성을 확인하고 필요 시 최신 버전으로 교체가 필요합니다.


지금까지 MySQL 8.0 지원 종료에 따른 8.4 LTS 버전 업그레이드의 필요성과 주요 변경 사항, 성공적인 전환을 위한 필수 체크리스트를 살펴보았습니다.

메이저 버전의 업그레이드는 단순한 엔진 교체를 넘어, 최신 하드웨어 성능을 극대화하고 보안 체계를 강화할 수 있는 중요한 기회입니다. 하지만 인증 방식이나 드라이버 호환성 등 기술적 변화가 큰 만큼, 앞서 소개해 드린 MySQL Shell Upgrade Checker와 사전 가이드를 활용해 면밀히 검토하시는 것을 권장합니다.

카카오클라우드는 고객님의 데이터베이스가 중단 없이 안정적으로 운영될 수 있도록 최적의 환경과 기술 지원을 제공하기 위해 노력하고 있습니다. 이 포스트가 안전한 서비스 운영에 도움이 되기를 바라며, 관련하여 궁금하신 점이나 지원이 필요한 경우 언제든지 헬프데스크를 통해 문의해 주시기 바랍니다.

감사합니다.