
MySQL 5.7.32 릴리즈 노트 입니다.
기능 추가 및 변경 (Functionality Added or Changed)
- 뷰에 대한
LOCK TABLES
권한 검사가 향상되었습니다. (Bug #31304432)
버그 수정 (Bugs Fixed)
- InnoDB: 내부 임시 테이블의 클러스터된 인덱스를 업데이트한 쿼리가 잘못된 결과를 반환했습니다. 클러스터된 인덱스의 수정된 페이지가 플러시 목록에 추가되지 않아 수정된 페이지가 버퍼 풀에서 제거되면 변경 내용이 손실됩니다. (Bug #31560679)참조 : 이 문제는 Bug #29207450 의 회귀입니다.
- InnoDB: 암호화되고 압축된 대형 테이블에 대한
ALTER TABLE ... IMPORT TABLESPACE
작업이 실패하고 디스크로부터 읽은 후 페이지 압축 해제에 실패했습니다. 암호 해독 작업에서 암호화 중에 사용된 암호화 블록 크기를 사용하지 않았습니다. 또한 암호화 프로세스는 압축된 길이를 고려하지 않은 반면, 암호 해독 프로세스는 압축된 길이로만 데이터를 해독합니다. (Bug #31313533) - InnoDB: 동시 업데이트 작업 중 오류가 발생했습니다. 이 실패는 잘못된 이전 레코드 값으로 인해 발생했습니다. (Bug #31205266, Bug #99286)
- InnoDB:
SHOW ENGINE INNODB MUTEX
문을 처리하는 데 사용된 함수가 새 뮤텍스를 동시에 추가하는 다른 스레드와 충분히 분리되지 않았습니다. (Bug #31105262) - InnoDB:버퍼 풀의 크기를 줄이는 동안 버퍼 제어 블록 구조(
buf_block_t
)가 해제되어 어설션 오류가 발생했습니다. 또한 이 버그에 대한 수정은 Bug #20735882 / Bug #76343에 대한 수정의 중요한 측면을 백업하고 내부buf_block_is_uncompressed()
함수를buf_pointer_is_block_field_instance()
함수로 대체합니다.buf_block_is_uncompressed()
함수가 너무 많은 경우 false를 반환하여 OLTP 쿼리 처리량에 영향을 미칩니다. (Bug #31036301, Bug #31389823) - InnoDB:
START TRANSACTION WITH CONSISTENT SNAPSHOT
로 시작된 세션에서 범위 쿼리가 잘린 결과를 반환했습니다. 인덱스 읽기를 시작할 때 종료 범위 플래그가 재설정되지 않아 읽기 및 누락 행이 중단되었습니다. (Bug #30950714, Bug #98642)참조: 이 문제는 Bug #23481444 의 회귀입니다. - InnoDB: 전체 텍스트 구문 검색에서 어설션 오류가 발생했습니다. TXSQL(Tencent MySQL)의 기여에 감사드립니다. (Bug #30933728, Bug #31228694) 참조 : 이 문제는 Bug #22709692 의 회귀입니다.
- InnoDB: 큰 테이블에서 오래 실행 중인 통계 계산 작업으로 인해 테이블의 통계에 액세스해야 하는 다른 작업이 차단되어 해당 작업이 실패합니다. 동시 액세스 테이블 통계를 허용하는 통계 계산 뮤텍스가 새로 도입되었습니다. 기여해주신 Kamil Holubicki에게 감사합니다.(Bug #30607708)
- InnoDB: 두 연결이 동일한 트랜잭션 처리기 개체를 사용하려고 시도하여 쿼리가 정지되었습니다.(Bug #30594501)
- Replication: 복제 원본 서버가 종료된 후 재시작되면,
MEMORY
표는 비어 있게 됩니다. 이 효과를 복제본에 복제하기 위해, 시작 후 원본이 지정된MEMORY
테이블을 처음 사용할 때, 이 효과를 나타내는 문을 이진 로그에 기록하여 테이블을 비워야 함을 복제본에 알리는 이벤트를 기록합니다. 이전에는DELETE
문이었지만, 지금은TRUNCATE TABLE
문입니다. 또한 복제본 서버는 종료 후 재시작할 때 이 문을 자체 이진 로그에 기록합니다. 문은 이진 로깅 형식이 ‘ROW’로 설정된 경우에도 항상 문 형식으로 기록되며 서버에read_only
또는super_read_only
모드가 설정된 경우에도 기록됩니다. (Bug #29848785, Bug #95496) - Replication: 시스템 변수
session_track_gtids
를 다중 스레드 복제본에서OWN_GTID
로 설정하면 복제본의 성능이 시간이 지남에 따라 저하되고 마스터보다 뒤처지기 시작합니다. 원인은 각 트랜잭션 커밋에서 복제본의 작업자 스레드가 기록한 GTID가 누적되어 작업자 스레드가 새 작업을 삽입하는 데 걸리는 시간이 늘어났기 때문입니다. 다중 스레드 복제본의 작업자 스레드에 대해 세션 상태 추적이 비활성화되었습니다. 페이스북의 도움에 감사드립니다. (Bug #29049207, Bug #92964) - LDAP 인증확인이 성공하면 서버가 중단될 수 있습니다. (Bug #31661437)
- 부트스트래핑 모드에서는 특정 다중 문 트랜잭션이 예기치 않은 서버 동작을 유발할 수 있습니다. (Bug #31650096)
- 이제 중요한 LDAP 인증 플러그인 시스템 변수가 SQL 문에서 검색될 때 별표로 표시됩니다.(Bug #31388444, Bug #31391864)
- Bug #81009에 대한 수정 후
read_only
또는super_read_only
를 사용하도록 설정한 경우 성능 스키마 테이블 자르기 권한 검사가 너무 제한적이어서 적절한 테이블 권한을 가진 사용자도 잘라내기가 실패합니다. (Bug #31080309, Bug #99072)참조: 이 문제는 Bug #81009의 회귀입니다. - 일부
INSERT
문장이 올바르게 처리되지 않았습니다. (Bug #31072198) - 준비된 특정 문장으로 인해 예기치 않은 서버 종료가 발생할 수 있습니다. (Bug #30943963)
- mysqlpump 개체 유효성 검사에서 제외된 데이터베이스에 개체가 포함되어 있습니다. (Bug #30819012)
- LDAP 인증 플러그인이 CA 검증을 잘못 수행했으며, 이로 인해 잘못된 CA가 사용될 수 있습니다. (Bug #30220357)
sort_buffer_size
및max_sort_length
를 값으로 설정한 경우ORDER BY
쿼리가 올바르게 실행되지 않아 정렬 버퍼당 허용되는 최대 키 수에 대한 내부 제한이 0으로 설정됩니다. (Bug #30175483)- 전체 텍스트 검색 쿼리에 중첩된 인수가 많아 오류가 발생했습니다.(Bug #29929684)
explicit_defaults_for_timestamp
가 비활성화되고TIMESTAMP
NOT NULL
로 선언된 생성된 열에NULL
을 삽입하면 서버는 삽입된 값을CURRENT_TIMESTAMP
로 변환하려고 시도합니다. 이러한 삽입은 이제ER_BAD_NULL_ERROR
와 함께 거부됩니다. (Bug #29449518)- SQL 계층이 임시 테이블에서 수행할 작업 유형에 대한 잘못된 정보를
InnoDB
에 전달할 때 어설션이 발생할 수 있습니다. (Bug #22503696)