Amazon RDS에서 지원되는 MySQL 기능
RDS for MySQL은 MySQL의 특징과 기능을 대부분 지원합니다. 일부 기능에는 제한된 지원 또는 제한된 권한이 있을 수 있습니다.
데이터베이스 관련 새로운 소식MySQL 2022
과 같은 키워드를 사용하여 검색합니다.
참고
다음 목록이 전부는 아닙니다.
주제
Amazon RDS for MySQL 메이저 버전에 MySQL 기능 지원
아래 섹션에서 Amazon RDS for MySQL 메이저 버전의 MySQL 기능 지원에 대해 알아볼 수 있습니다.
지원되는 Amazon RDS for MySQL 마이너 버전에 대한 자세한 내용은 Amazon RDS에서 지원되는 MySQL 마이너 버전 섹션을 참조하세요.
Amazon RDS에서 MySQL 8.4 지원
Amazon RDS는 MySQL 버전 8.4 이상을 실행하는 DB 인스턴스에서 다음과 같은 새로운 기능을 지원합니다.
-
암호화 라이브러리 - RDS for MySQL이 OpenSSL을 FIPS 140-3 인증을 받은 AWS Libcrypto(AWS-LC)로 대체했습니다. 자세한 내용은 https://github.com/aws/aws-lc
에서 AWS-LC GitHub 리포지토리를 참조하세요. -
TLS 변경 사항 - RDS for MySQL은 TLS 1.2 및 TLS 1.3만 지원합니다. 자세한 내용은 Amazon RDS의 MySQL DB 인스턴스에 대한 SSL/TLS 지원 단원을 참조하십시오.
-
memcached 지원 - MySQL 8.4에서는 memcached 인터페이스를 더 이상 사용할 수 없습니다. 자세한 내용은 MySQL memcached 지원 단원을 참조하십시오.
-
기본 인증 플러그인 - 기본 인증 플러그인은
caching_sha2_password
입니다. 자세한 내용은 MySQL 기본 인증 플러그인 단원을 참조하십시오. -
mysqlpump
클라이언트 유틸리티 - MySQL 8.4에서mysqlpump
클라이언트 유틸리티를 더 이상 사용할 수 없습니다. 자세한 내용은 AWS 규범적 지침의 RDS for MySQL에 대한 역할 기반 권한 모델 및 mysqldump 및 mysqlpump를 참조하세요. -
관리형 복제 저장 프로시저 -
caching_sha2_password
로 구성된 복제 사용자로 복제를 관리하기 위해 저장 프로시저를 사용하는 경우,SOURCE_SSL=1
을 지정하여 TLS를 구성해야 합니다.caching_sha2_password
는 RDS for MySQL 8.4의 기본 인증 플러그인입니다. -
파라미터 동작 변경 사항 - MySQL 8.4에서 다음 파라미터가 변경되었습니다.
-
innodb_dedicated_server
- 이 파라미터가 이제 기본적으로 활성화됩니다. 자세한 내용은 MySQL 8.4에서 버퍼 풀 크기 및 다시 실행 로그 용량 구성 단원을 참조하십시오. -
innodb_buffer_pool
- 데이터베이스 엔진이 이제 이 파라미터를 계산하지만 이 설정을 재정의할 수 있습니다. 자세한 내용은 MySQL 8.4에서 버퍼 풀 크기 및 다시 실행 로그 용량 구성 단원을 참조하십시오. -
innodb_redo_log_capacity
- 이제 이 파라미터가 다시 실행 로그 파일의 크기를 제어합니다. 데이터베이스 엔진이 이제 이 파라미터를 계산하지만 이 설정을 재정의할 수 있습니다. 자세한 내용은 MySQL 8.4에서 버퍼 풀 크기 및 다시 실행 로그 용량 구성 단원을 참조하십시오.
-
-
더 이상 사용되지 않거나 제거된 파라미터 - RDS for MySQL은 MySQL 8.4 DB 인스턴스의 파라미터 그룹에서 다음 파라미터를 제거했습니다. 이제
innodb_redo_log_capacity
파라미터가 다시 실행 로그 파일의 크기를 제어합니다.-
innodb_log_file_size
-
innodb_log_files_in_group
-
-
파라미터의 새로운 기본값 – 다음 파라미터에는 MySQL 8.4 DB 인스턴스에 대한 새로운 기본값이 포함됩니다.
-
성능과 관련된 다양한 MySQL 커뮤니티 파라미터가 변경되었습니다. 자세한 내용은 What is New in MySQL 8.4 since MySQL 8.0
을 참조하세요. 프로덕션 인스턴스를 마이그레이션하기 전에 RDS for MySQL 8.4에서 애플리케이션의 성능을 테스트하는 것이 좋습니다.
-
innodb_purge_threads
- InnoDB 기록 목록 길이가 너무 크게 증가하는 것을 방지하기 위해 기본값이 공식LEAST({DBInstanceVCPU/2},4)
에 설정됩니다. -
group_replication_exit_state_action
– 기본값은OFFLINE_MODE
이며 MySQL 커뮤니티의 기본값과 일치합니다. 자세한 내용은 RDS for MySQL 액티브-액티브 클러스터에 대한 고려 사항 및 모범 사례 단원을 참조하십시오. -
binlog_format
– 기본값은ROW
이며 MySQL 커뮤니티의 기본값과 일치합니다. 단일 AZ DB 인스턴스 또는 다중 AZ DB 인스턴스의 파라미터는 수정할 수 있지만 다중 AZ DB 클러스터의 파라미터는 수정할 수 없습니다. 다중 AZ DB 클러스터는 반동기식 복제를 사용하며binlog_format
이MIXED
또는STATEMENT
로 설정되면 복제가 실패합니다.
-
-
포용적인 언어 변경 사항 - RDS for MySQL 8.4에는 포용적인 언어에 대한 키워드 및 시스템 스키마와 관련된 RDS for MySQL 8.0의 변경 사항이 포함되어 있습니다. 자세한 내용은 RDS for MySQL 8.4의 포용적인 언어 변경 사항 단원을 참조하십시오.
모든 MySQL 8.4 기능 및 변경 사항 목록은 MySQL 설명서에서What Is New in MySQL 8.4 since MySQL 8.0
지원되지 않는 기능 목록은 Amazon RDS가 지원하지 않는 MySQL 기능 단원을 참조하세요.
RDS for MySQL에 대해 지원되는 스토리지 엔진
MySQL은 다양한 기능으로 여러 스토리지 엔진을 지원하지만, 모든 기능이 복구와 데이터 내구성에 최적화되어 있지는 않습니다. Amazon RDS는 MySQL DB 인스턴스용 InnoDB 스토리지 엔진을 완전히 지원합니다. 특정 시점 복원 및 스냅샷 복원과 같은 Amazon RDS 기능은 복구 가능한 스토리지 엔진이 필요하며 InnoDB 스토리지 엔진에서만 지원됩니다. 자세한 내용은 MySQL memcached 지원을 참조하세요.
외부 스토리지 엔진은 현재 Amazon RDS for MySQL에서 지원되지 않습니다.
사용자가 생성한 스키마의 경우 MyISAM 스토리지 엔진이 안정적인 복구를 지원하지 않으며 복구 후에 MySQL을 다시 시작할 때 데이터가 손실되거나 손상되어 특정 시점으로 복원 또는 스냅샷 복원 기능이 계획대로 작동하지 않을 수 있습니다. 그래도 Amazon RDS에서 MyISAM을 사용하기로 선택한 경우, 일부 조건에서는 스냅샷이 유용할 수 있습니다.
참고
mysql
스키마의 시스템 테이블은 MyISAM 스토리지에 있을 수 있습니다.
기존 MyISAM 테이블을 InnoDB 테이블로 변환하려는 경우 ALTER TABLE
명령(예, alter table TABLE_NAME engine=innodb;
)을 사용하면 됩니다. MyISAM과 InnoDB는 각기 다른 장점과 단점을 갖고 있으므로 전환하기 전에 전환이 현재 애플리케이션에 미치는 영향을 충분히 평가해야 합니다.
MySQL 5.1, 5.5, 5.6은 Amazon RDS에서 더 이상 지원되지 않습니다. 그러나 기존의 MySQL 5.1, 5.5, 5.6 스냅샷을 복원할 수는 있습니다. MySQL 5.1, 5.5 또는 5.6 스냅샷을 복원하는 경우 DB 인스턴스가 자동으로 MySQL 5.7로 업그레이드됩니다.
Amazon RDS의 MySQL에서 memcached 및 기타 옵션 사용
대부분의 Amazon RDS DB 엔진은 DB 인스턴스 관련 추가 기능을 선택할 수 있도록 옵션 그룹을 지원합니다. RDS for MySQL DB 인스턴스는 단순 키 기반 캐시인 memcached
옵션을 지원합니다. memcached
및 기타 옵션에 대한 자세한 내용은 MySQL DB 인스턴스 옵션을 참조하세요. 옵션 그룹 작업에 대한 자세한 내용은 옵션 그룹 작업 단원을 참조하세요.
Amazon RDS의 MySQL용 InnoDB 캐시 워밍
InnoDB 캐시 워밍은 DB 인스턴스가 종료될 때 버퍼 풀의 현재 상태를 저장한 다음 DB 인스턴스가 시작될 때 저장된 정보에서 버퍼 풀을 다시 로드하여 MySQL DB 인스턴스의 성능 향상을 제공할 수 있습니다. 이렇게 하면 보통 데이터베이스 사용에서 "준비"까지의 버퍼 풀에 대한 필요를 무시하고, 대신 알려진 공용 쿼리에 대한 페이지와 함께 버퍼 풀을 미리 로드합니다. 저장된 버퍼 풀 정보를 저장하는 파일은 페이지 자체가 아니라 단지 버퍼 풀에 있는 페이지에 대한 메타데이터만 저장합니다. 따라서 파일은 많은 저장 공간을 요구하지 않습니다. 파일 크기는 캐시 크기의 약 0.2%입니다. 예를 들면, 64GiB의 경우 캐시 워밍 파일 크기는 128MiB입니다. InnoDB 캐시 워밍에 대한 자세한 내용은 MySQL 설명서의 버퍼 풀 상태 저장 및 복원
RDS for MySQL DB 인스턴스는 InnoDB 캐시 워밍을 지원합니다. InnoDB 캐시 워밍을 활성화하려면 innodb_buffer_pool_dump_at_shutdown
및innodb_buffer_pool_load_at_startup
파라미터를 DB 인스턴스용 파라미터 그룹에서 1로 설정합니다. 파라미터 그룹에서 이들 파라미터 값을 변경하면 파라미터 그룹을 사용하는 모든 MySQL DB 인스턴스가 영향을 받습니다. 특정 MySQL DB 인스턴스에 대한 InnoDB 캐시 워밍을 활성화하려면, 이들 인스턴스에 대한 새 파라미터 그룹을 생성해야 할 수도 있습니다. 파라미터 그룹에 대한 자세한 내용은 Amazon RDS의 파라미터 그룹 단원을 참조하십시오.
InnoDB 캐시 워밍은 주로 표준 스토리지를 사용하는 DB 인스턴스를 위해 성능 혜택을 제공합니다. PIOPS 스토리지를 사용하는 경우에는 통상적으로 중요한 성능 혜택이 제공되지 않습니다.
중요
MySQL DB 인스턴스가 정상적으로 종료되지 않는 경우(예: 장애 조치 도중), 버퍼 풀 상태가 디스크에 저장되지 않습니다. 이 경우 MySQL은 DB 인스턴스가 다시 시작될 때 이용 가능한 모든 버퍼 풀 파일을 로드합니다. 어떤 손상도 발생하지 않지만, 복원된 버퍼 풀은 대부분의 경우 다시 시작하기 이전의 버퍼 풀 최신 상태를 반영하지 못할 수도 있습니다. 시작 시 InnoDB 캐시를 워밍업하기 위해 버퍼 풀의 최신 상태를 이용할 수 있게 하려면, "요청 시" 버퍼 풀을 주기적으로 덤프하는 것이 좋습니다.
이벤트를 생성하여 버퍼 풀을 자동으로 그리고 정기적으로 덤프할 수 있습니다. 예를 들면, 다음 문은 매 시간마다 버퍼 풀을 덤프하는 이름이 periodic_buffer_pool_dump
인 이벤트를 생성합니다.
CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();
MySQL 이벤트에 대한 자세한 내용은 MySQL 설명서의 이벤트 구문
요청 시 버퍼 풀 덤핑 및 로딩
'요청 시' InnoDB 캐시를 저장하고 로드할 수 있습니다.
버퍼 풀의 현재 상태를 디스크에 덤프하려면 mysql.rds_innodb_buffer_pool_dump_now 저장 프로시저를 호출합니다.
디스크에서 저장된 버퍼 풀의 상태를 로드하려면 mysql.rds_innodb_buffer_pool_load_now 저장 프로시저를 호출합니다.
진행 중인 로드 작업을 취소하려면 mysql.rds_innodb_buffer_pool_load_abort 저장 프로시저를 호출합니다.
RDS for MySQL 8.4의 포용적인 언어 변경 사항
RDS for MySQL 버전 8.4에는 포용적 언어에 대한 키워드 및 시스템 스키마와 관련된 MySQL 8.4의 변경 사항이 포함되어 있습니다. 예를 들어 SHOW REPLICA
STATUS
명령은 SHOW SLAVE STATUS
를 대체합니다.
구성 파라미터 이름 변경 사항
다음 구성 파라미터는 RDS for MySQL 8.4에서 이름이 변경되었습니다.
호환성을 위해 두 이름 중 하나를 사용하여 mysql
클라이언트에서 파라미터 이름을 확인할 수 있습니다. 사용자 정의 MySQL 8.4 파라미터 그룹의 값을 수정할 때는 새 이름만 사용 수 있습니다. 자세한 내용은 기본 및 사용자 지정 파라미터 그룹 단원을 참조하십시오.
제거할 이름 | 새 이름 또는 기본 이름 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
저장 프로시저 이름 변경 사항
다음 저장 프로시저는 RDS for MySQL 8.4에서 이름이 변경되었습니다.
호환성을 위해 초기 RDS for MySQL 8.4 릴리스에서 두 이름 중 하나를 사용할 수 있습니다. 향후 릴리스에서 기존 프로시저 이름이 제거되게 됩니다. 자세한 내용은 이진수 로그(binlog) 복제 구성, 시작 및 중지 단원을 참조하십시오.
제거할 이름 | 새 이름 또는 기본 이름 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Amazon RDS가 지원하지 않는 MySQL 기능
Amazon RDS는 현재 다음과 같은 MySQL 기능은 지원하지 않습니다.
-
인증 플러그인
-
시스템 로그에 오류 로깅
-
InnoDB Tablespace 암호화
-
암호 보안 수준 플러그인
-
지속된 시스템 변수
-
리라이터 쿼리 다시 쓰기 플러그인
-
다중 AZ DB 클러스터를 제외한 반동기식 복제
-
전송 가능한 테이블스페이스
-
X 플러그인
관리형 서비스 환경을 제공하기 위해 Amazon RDS는 DB 인스턴스에 대해 shell 액세스를 제공하지 않습니다. 또한 고급 권한이 필요한 특정 시스템 절차와 테이블에 대한 액세스를 제한합니다. Amazon RDS는 표준 SQL 클라이언트 애플리케이션을 사용하여 DB 인스턴스의 데이터베이스에 대한 액세스를 지원합니다. Amazon RDS는 Telnet, SSH(보안 셸) 또는 Windows 원격 데스크톱 연결을 사용하여 DB 인스턴스에 대한 직접적인 호스트 액세스를 허용하지 않습니다. DB 인스턴스를 생성할 때 사용자는 해당 인스턴스의 모든 데이터베이스에 대한 db_owner 역할을 할당받게 되며, 백업을 위해 사용된 권한을 제외한 모든 데이터베이스 수준의 권한을 갖게 됩니다. Amazon RDS는 백업을 관리합니다.