메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

Amazon Aurora 데이터베이스 엔진 업데이트를 통해 수정한 MySQL 버그

다음 표는 Amazon Aurora 데이터베이스 엔진 업데이트를 통해 수정한 MySQL 버그와 이 버그들이 어느 업데이트에서 수정되었는지를 설명한 것입니다.

데이터베이스 엔진 업데이트 버전 수정된 MySQL 버그
데이터베이스 엔진 업데이트(2015-08-24)

1.1

  • 이름이 숫자로 시작하는 InnoDB 데이터베이스가 전체 텍스트 검색(FTS) 구문 분석기 오류를 일으킵니다. (버그 #17607956)

  • 이름이 숫자로 시작하는 데이터베이스에서 InnoDB 전체 텍스트 검색이 실패합니다. (버그 #17161372)

  • Windows에서 실행되는 InnoDB 데이터베이스의 경우, 전체 텍스트 검색(FTS) 객체 ID가 예상되는 16진수 형식이 아닙니다. (버그 #16559254)

  • MySQL 5.6에 도입된 코드 회귀가 DROP TABLE 및 ALTER TABLE 성능에 악영향을 미쳤습니다. 이로 인해 MySQL Server 5.5.x와 5.6.x 사이에서 성능 저하가 발생했을 수 있습니다. (버그 #16864741)

데이터베이스 엔진 업데이트(2015-10-16)

1.2, 1.3

  • innodb 내의 쿼리 삭제 시 결과적으로 어설션과의 충돌 발생 (버그 #1608883)

  • 이벤트 스케줄러, 이벤트 실행 또는 새로운 연결에 대해 새로운 스레드를 생성하지 못한 경우 오류 로그에 아무 메시지도 작성되지 않습니다. (버그 #16865959)

  • 한 연결이 기본 데이터베이스를 변경하고 동시에 다른 연결이 SHOW PROCESSLIST를 수행하는 경우, 첫 번째 연결의 기본 데이터베이스 메모리를 표시하려고 할 때 두 번째 연결에서 잘못된 메모리에 액세스할 수 있습니다. (버그 #11765252)

  • 설계 상 PURGE BINARY LOGS는 사용 중이거나 활성화 상태의 이진 로그 파일을 제거하지 않지만, 이러한 경우에도 아무런 메시지가 표시되지 않습니다. (버그 #13727933)

  • 일부 문에서는 최적화 프로그램이 필요 없는 하위 쿼리 절을 제거하는 경우 메모리 누수가 발생할 수 있습니다. (버그 #15875919)

  • 종료 중에 서버가 초기화되지 않은 뮤텍스를 잠그려고 시도할 수 있습니다. (버그 #16016493)

  • GROUP_CONCAT() 및 ORDER BY 절을 사용하여 여러 열의 이름을 지정하는 준비된 문을 사용하면 서버가 종료될 수 있습니다. (버그 #16075310)

  • 슬레이브 워커 스레드에 성능 스키마 장비가 누락되었습니다. (버그 #16083949)

  • STOP SLAVE가 하나 이상의 상태 변수 Slave_retried_transactions, Slave_heartbeat_period, Slave_received_heartbeats, Slave_last_heartbeat 또는 Slave_running의 값을 검색하는 SHOW STATUS와 같은 문과 함께 동시에 실행되는 경우 교착 상태가 발생할 수 있습니다. (버그 #16088188)

  • 검색 용어에 따옴표가 있는 경우 부울 모드를 사용한 전체 텍스트 쿼리에서 0이 반환될 수 있습니다. (버그 #16206253)

  • 하위 쿼리에서 조인의 ON 절에 하위 쿼리가 있는 준비된 문을 실행하는 경우 최적화 프로그램이 중복되는 하위 쿼리 절을 제거하려고 시도하면 어설션이 발생합니다. (버그 #16318585)

  • GROUP_CONCAT 불안정성, ITEM_SUM::CLEAN_UP_AFTER_REMOVAL에서 충돌 발생 (버그 #16347450)

  • INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD와 동일한 구조의 InnoDB 테이블을 생성하여 기본 InnoDB 전체 텍스트 검색(FTS) 불용어 목록을 변경하려고 시도하면 오류가 발생합니다. (버그 #16373868)

  • 슬레이브의 클라이언트 스레드에서 FLUSH TABLES WITH READ LOCK을 실행한 후 마스터에서 일부 업데이트를 실행하면 SHOW SLAVE STATUS를 실행할 때 슬레이브가 멈춥니다. (버그 #16387720)

  • 전체 텍스트 검색에서 "abc-def"와 같은 구분된 검색 문자열을 파싱할 때 이제 InnoDB에서 MyISAM과 동일한 단어 구분자를 사용합니다. (버그 #16419661)

  • FTS_AST_TERM_SET_WILDCARD에서 충돌이 발생합니다. (버그 #16429306)

  • FTS RQG 테스트 시 FTS_AST_VISIT()에서 SEGFAULT가 발생합니다. (버그 #16435855)

  • 빌드 디버그 시 최적화 프로그램이 하위 쿼리를 가리키는 Item_ref를 제거하면 서버가 종료됩니다. (버그 #16509874)

  • InnoDB 테이블에서 전체 텍스트 검색으로 + 또는 - 연산자와 결합된 리터럴 문구를 검색하면 오류가 발생합니다. (버그 #16516193)

  • 서버가 --master-info-repository=TABLE relay-log-info-repository=TABLE 옵션을 사용하고 자동 커밋을 0으로 설정하고 --skip-slave-start를 함께 사용하여 서버를 시작하면 START SLAVE에서 오류가 발생합니다. (버그 #16533802)

  • InnoDB 전체 텍스트 검색(FTS)의 크기가 매우 크면 과도한 메모리 양을 소비할 수 있습니다. (버그 #16625973)

  • 검색 문자열에 이진을 직접 사용하면 이진에 NULL 바이트 및 다른 의미 없는 문자가 포함될 수 있으므로 빌드 디버그 시 OPT_CHECK_ORDER_BY에서 어설션이 발생할 수 있습니다. (버그 #16766016)

  • 일부 문에서는 최적화 프로그램이 필요 없는 하위 쿼리 절을 제거하는 경우 메모리 누수가 발생할 수 있습니다. (버그 #16807641)

  • 슬레이브에 대한 새로운 연결에서 STOP SLAVE를 실행한 다음, 원래 연결을 사용하여 SHOW SLAVE STATUS를 실행하여 FLUSH TABLES WITH READ LOCK을 실행하면 교착 상태가 발생할 가능성이 있습니다. (버그 #16856735)

  • 잘못된 구분 기호와 함께 GROUP_CONCAT()를 실행하면 서버가 종료될 수 있습니다. (버그 #16870783)

  • 패턴이 해당 뮤텍스(Slave_heartbeat_period, Slave_last_heartbeat, Slave_received_heartbeats, Slave_retried_transactions, Slave_running)를 사용하는 상태 변수와 일치하지 않는 경우에도 서버가 SHOW STATUS LIKE '패턴' 문에 대해 LOCK_active_mi 및 active_mi->rli->data_lock 뮤텍스에서 과도한 잠금을 설정했습니다. (버그 #16904035)

  • IN BOOLEAN MODE 수정자를 사용하여 전체 텍스트 검색을 실행하면 어설션 오류가 발생합니다. (버그 #16927092)

  • InnoDB 테이블에서 전체 텍스트 검색으로 + 부울 연산자를 사용하여 검색하면 오류가 발생합니다. (버그 #17280122)

  • 4웨이 교착 상태: 좀비, binlog 삭제, 프로세스 목록 표시, binlog 표시 (버그 #17283409)

  • 커밋 잠금을 기다리고 있는 SQL 스레드가 중단되었다가 다시 시작되는 경우 트랜잭션이 슬레이브에서 건너 뛰게 됩니다. (버그 #17450876)

  • "종료되지 않는" 토큰으로 인해 InnoDB 전체 텍스트 검색 오류가 발생합니다. 문자열 및 문자열 길이가 문자열 비교를 위해 전달되어야 합니다. (버그 #17659310)

  • 많은 수의 분할된 InnoDB 테이블이 MySQL 5.6 또는 5.7에서 사용될 때 이전 릴리스의 MySQL Server에서 사용될 때보다 동일한 테이블에서 사용하는 메모리 양이 많이 증가될 수 있습니다. (버그 #17780517)

  • 전체 텍스트 쿼리의 경우 num_token이 max_proximity_item보다 적은지 확인하지 못하여 어설션이 발생할 수 있습니다. (버그 #18233051)

  • 비어 있는 InnoDB 테이블이 많이 있는 경우 INFORMATION_SCHEMA 테이블 및 COLUMNS 테이블에 대한 특정 쿼리가 과도한 메모리 사용을 초래할 수 있습니다. (버그 #18592390)

  • 트랜잭션을 커밋할 때 이제 플래그가 사용되어 스레드 자체를 확인하지 않고 스레드 생성 여부를 확인합니다. 이에 따라 특히 master_info_repository=TABLE과 함께 서버를 실행할 때 더 많은 리소스가 사용됩니다. (버그 #18684222)

  • 마스터가 DML을 실행하는 동안 슬레이브에 있는 클라이언트 스레드가 FLUSH TABLES WITH READ LOCK을 실행하는 경우 동일한 클라이언트에 있는 SHOW SLAVE STATUS를 실행하면 차단되어 교착 상태가 발생합니다. (버그 #19843808)

  • GROUP_CONCAT()로 주문하면 서버가 종료될 수 있습니다. (버그 #19880368)

데이터베이스 엔진 업데이트(2015-12-03)

1.4

  • FTSPARSE()의 SEGV 오류 (버그 #16446108)

  • 열의 이름을 바꾸는 동안 InnoDB 데이터 사전이 업데이트되지 않습니다. (버그 #19465984)

  • 테이블 이름을 다른 데이터베이스로 변경하면 FTS 충돌이 발생합니다. (버그 #16834860)

  • 잘린 테이블에서 트리거를 준비하지 못하면 오류 1054가 발생합니다. (버그 #18596756)

  • 메타데이터를 변경하면 트리거 실행에 문제가 발생할 수 있습니다. (버그 #18684393)

  • 길이가 긴 UTF8 VARCHAR 필드에 구제화가 선택되지 않습니다. (버그 #17566396)

  • 제한 사항 X가 있는 ORDER BY 실행 시 실행 계획의 성능 저하 (Bug #16697792)

  • 백포트(Backport) 버그#11765744 - 5.1, 5.5 및 5.6. (버그 #17083851)

  • SQL/SQL_SHOW.CC에서의 뮤텍스 문제로 SIG6가 발생합니다. 소스는 FILL_VARIABLES와 유사합니다. (버그 #20788853)

  • 백포트(Backport) 버그 #18008907 - 5.5 이상 버전 (버그 #18903155)

  • MySQL 5.7에서 스택 오버플로우 오류에 대해 수정 적용 (버그 #19678930)

데이터베이스 엔진 업데이트(2016-01-11)

1.5

  • 데이터베이스 이름이 숫자로 시작하는 테이블에 영향을 주는 MySQL 전체 텍스트 검색 기능이 완전히 해결되지 않았던 문제를 해결했습니다. (포트 버그 #17607956)

데이터베이스 엔진 업데이트(2016-04-06) 1.6
  • 백포트 버그#18694052 5.6에서 `!M_ORDERED_REC_BUFFER' 어설션 실패 수정(포트 버그 #18305270)

  • MEMCPY(), HA_PARTITION::POSITION의 SEGV 오류(포트 버그 # 18383840)

  • 파티셔닝, INDEX_MERGE 및 NO PK에서 잘못된 결과 도출(포트 버그 # 18167648)

  • FLUSH TABLES FOR EXPORT: HA_PARTITION::EXTRA의 어설션 오류(포트 버그 # 16943907)

  • 가상 HA_ROWS HANDLER::MULTI_RANGE_READ_INFO_CONST에서 서버 충돌(포트 버그 # 16164031)

  • SEL_ARG::RB_INSERT()에서 범위 최적화 프로그램 충돌(포트 버그 # 16241773)

데이터베이스 엔진 업데이트(2016-06-01) 1.6.5
  • 마스터 충돌 복구 후 슬레이브에서 복제를 진행할 수 없음(포트 버그 #17632285)

데이터베이스 엔진 업데이트(2016-08-30) 1.7
  • LOCK_grant 잠금을 분할하여 확장성을 향상했습니다. (포트 WL #8355)

  • 저장 프로시저의 SELECT에 커서를 두면 segfault가 발생합니다. (포트 버그 #16499751)

  • MySQL에서는 일부 특수한 경우에 잘못된 결과를 제공합니다. (버그 #11751794)

  • #11751794 버그에 대한 패치에 의해 GET_SEL_ARG_FOR_KEYPART에서– 충돌이 발생합니다. (버그 #16208709)

  • GROUP BY를 통한 간단한 쿼리에 대해 잘못된 결과가 표시됩니다. (버그 #17909656)

  • 범위 조건자를 통한 semijoin 쿼리에서 추가 행이 표시됩니다. (버그 #16221623)

  • IN 하위 쿼리 뒤에 ORDER BY 절을 추가하면 중복 행이 반환될 수 있습니다. (버그 #16308085)

  • 쿼리에 대한 설명이 GROUP BY, MyISAM에 대한 간략 스캔과 충돌합니다. (버그 #16222245)

  • 인용된 int 조건자를 사용하여 느슨한 인덱스 스캔을 수행하면 임의의 데이터가 반환됩니다. (버그 #16394084)

  • 최적화 프로그램에서 느슨한 인덱스 스캔을 사용 중인 경우 임시 테이블을 생성하려고 하면 서버가 종료될 수 있습니다. (버그 #16436567)

  • COUNT(DISTINCT)는 NULL 값을 계산하지 않지만 최적화 프로그램에서 느슨한 인덱스 스캔을 사용하는 경우에는 계산됩니다. (버그 #17222452)

  • 쿼리에 MIN()/MAX() 및 aggregate_function(DISTINCT)이 모두 포함되어 있고(예: SUM(DISTINCT)) 느슨한 인덱스 스캔을 사용하여 쿼리를 실행한 경우 MIN()/MAX()의 결과 값이 잘못 설정되었습니다. (버그 #17217128)

데이터베이스 엔진 업데이트(2016-09-20) 1.7.1
데이터베이스 엔진 업데이트(2016-10-18) 1.8
  • 여러 인덱스를 포함하는 하나의 열에 모든 인덱스를 끌어서 놓은 경우 외래 키 제약 조건에서 인덱스를 요구할 때 InnoDB에서 DROP INDEX 작업을 차단하지 못합니다. (버그 #16896810)

  • 외래 키 제약 조건 추가 충돌을 해결합니다. (버그 #16413976)

  • 저장 프로시저에서 커서를 가져오는 동시에 테이블을 분석하거나 플러시할 때 발생하는 충돌을 해결했습니다. (버그 #18158639)

  • 사용자가 테이블에서 AUTO_INCREMENT 값을 최대 자동 증분 열 값보다 작게 변경할 때 발생하는 자동 증분 버그를 해결했습니다. (버그 #16310273)

데이터베이스 엔진 업데이트(2016-10-26) 1.8.1
  • LogJam 문제 때문에 OpenSSL이 Diffie-Hellman 키 길이 파라미터를 변경했습니다. (버그 #18367167)

데이터베이스 엔진 업데이트(2016-11-10) 1.9.0, 1.9.1
데이터베이스 엔진 업데이트(2016-12-14) 1.10
  • 파생된 테이블의 UNION이 '1=0/false' 절이 있는 잘못된 결과를 반환합니다. (버그 #69471)

  • 저장된 프로시저 2차 실행 시 ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS에서 서버가 충돌합니다. (버그 #20755389)

  • 캐시 크기가 전체 크기의 10%를 넘어서자마자 별도 스레드에 캐시 동기화 작업을 오프로드하여 FTS 캐시 동기화 중에 MySQL 쿼리가 너무 오래 중지되는 일을 방지합니다. (버그 #22516559, #73816)

데이터베이스 엔진 업데이트(2017-01-12) 1.10.1
데이터베이스 엔진 업데이트(2017-02-23) 1.11
  • ALTER 테이블 DROP 외래 키를 다른 DROP 연산과 동시에 실행하면 테이블이 사라집니다. (버그 #16095573)

  • ORDER BY를 사용한 일부 INFORMATION_SCHEMA 쿼리가 예전처럼 파일 정렬 최적화를 사용하지 않습니다. (버그 #16423536)

  • FOUND_ROWS ()가 잘못된 테이블 행 수를 반환합니다 (버그 #68458)

  • 임시 테이블을 너무 많이 열면 오류가 발생하는 대신 서버가 고장납니다. (버그 #18948649)

데이터베이스 엔진 업데이트(2017-04-05) 1.12
  • 비어 있는 상태로 인해 AUTO_INCREMENT 값이 재설정되는 동안 제거된 테이블을 재로드합니다. (버그 #21454472, 버그 #77743)

  • purge_node_t 구조의 불일치로 인해 인덱스 기록이 롤백에서 발견되지 않았습니다. 이러한 불일치로 "보조 인덱스 입력 업데이트 오류", "기록을 제거할 수 없음", "삭제 표시되지 않은 보조 인덱스 입력 제거를 시도함" 등의 경고 및 오류 메시지가 표시되었습니다. (버그 #19138298, 버그 #70214, 버그 #21126772, 버그 #21065746)

  • qsort 작업에 대한 스택 크기 계산을 잘못하면 스택 오버플로우가 발생합니다. (버그 #73979)

  • 롤백 시 인덱스에서 기록이 발견되지 않았습니다. (버그 #70214, 버그 #72419)

  • 업데이트 CURRENT_TIMESTAMP의 ALTER TABLE 추가 열 TIMESTAMP가 ZERO-datas 삽입(버그 #17392)

데이터베이스 엔진 업데이트(2017-05-15) 1.13
  • 비어 있는 상태로 인해 AUTO_INCREMENT 값이 재설정되는 동안 제거된 테이블을 재로드합니다. (버그 #21454472, 버그 #77743)

  • purge_node_t 구조의 불일치로 인해 인덱스 기록이 롤백에서 발견되지 않았습니다. 이러한 불일치로 "보조 인덱스 입력 업데이트 오류", "기록을 제거할 수 없음", "삭제 표시되지 않은 보조 인덱스 입력 제거를 시도함" 등의 경고 및 오류 메시지가 표시되었습니다. (버그 #19138298, 버그 #70214, 버그 #21126772, 버그 #21065746)

  • qsort 작업에 대한 스택 크기 계산을 잘못하면 스택 오버플로우가 발생합니다. (버그 #73979)

  • 롤백 시 인덱스에서 기록이 발견되지 않았습니다. (버그 #70214, 버그 #72419)

  • 업데이트 CURRENT_TIMESTAMP의 ALTER TABLE 추가 열 TIMESTAMP가 ZERO-datas 삽입(버그 #17392)

데이터베이스 엔진 업데이트(2017-08-07) 1.14

이전에는 전체 텍스트 검색이 파생 테이블(FROM 절의 하위 쿼리)과 결합되면서 서버 종료의 원인이 되었습니다. 하지만 이제는 전체 텍스트 작업이 파생 테이블에 따라 결정되는 경우 구체화된 테이블에서 전체 텍스트 검색을 실행할 수 없다는 오류가 서버에서 발생합니다. (버그 #68751, 버그 #16539903)