MySQL

MySQL 8.0에서 추가된 모든 기능

Estimated reading: 4 minutes 293 views

원본 문서: The complete list of new features in MySQL 8.0

MySQL 공식 블로그에 올라와 있는 “The complete list of new features in MySQL 8.0” 글을 기반으로 작성하였습니다. 해당 문서에는 8.0에서 추가된 기능들을 모두 열거하고 있습니다. 다만 원본 글에는 아무런 추가 설명 없이 제목들만 나열하고 있기에, 해당 문서를 번역해 옮겨 오면서. 최대한 간단히 해당 기능이 어떤 기능인지 몇 줄씩 설명을 붙여놓았…었으나…

헌데 워낙 내용이 많다보니, 몇줄씩만 설명을 붙여도 해당 페이지가 끝도없이 길어져서..
여기에는 단순히 원본글만 번역해두었고, 다시 세부페이지로 들어가면 각각의 주제가 어떤 의미인지, 어떤 기능이 추가된 건인지 간단히 정리해두었습니다.


SQL DML

  1. 비재귀적 공통 테이블 표현식 (Non-recursive Common Table Expressions)
  2. 재귀적 공통 테이블 표현식 (Recursive Common Table Expressions)
  3. 윈도우 함수 (Window Functions)
  4. ORDER BY 및 DISTINCT와 ROLLUP
  5. LATERAL 파생 테이블
  6. 파생 테이블에서 외부 테이블 참조
  7. VALUES
  8. INSERT … ON DUPLICATE KEY UPDATE에서 기존/신규 행 참조
  9. 재귀적 CTE에서의 LIMIT

SQL DDL

  1. 인스턴트 ADD COLUMN
  2. 인스턴트 RENAME COLUMN
  3. 인스턴트 RENAME TABLESPACE
  4. RESTART 문
  5. SET PERSIST 문
  6. LOCK TABLES 상태에서 RENAME TABLES
  7. PK 없는 테이블 사용 금지 옵션
  8. 캐릭터셋 변환을 in-place 작업으로
  9. DATAFILE 절 없이 CREATE TABLESPACE
  10. CREATE RESOURCE GROUP
  11. ALTER RESOURCE GROUP
  12. DROP RESOURCE GROUP
  13. 기본값으로 표현식 사용 가능
  14. CHECK 제약 조건
  15. ALTER TABLE … ADD CONSTRAINT
  16. ALTER TABLE … DROP CONSTRAINT
  17. ALTER TABLE … ALTER CONSTRAINT
  18. CLONE INSTANCE

인덱스

  1. 보이지 않는 인덱스
  2. 내림차순 인덱스
  3. 함수 인덱스
  4. 인덱스 스킵 스캔
  5. 인덱스 힌트 USE / IGNORE / FORCE INDEX

함수

  1. 신규 함수 REGEXP_INSTR
  2. 신규 함수 REGEXP_LIKE
  3. 신규 함수 REGEXP_REPLACE
  4. 신규 함수 REGEXP_SUBSTR
  5. 신규 함수 UUID_TO_BIN
  6. 신규 함수 BIN_TO_UUID
  7. 신규 함수 IS_UUID
  8. 신규 함수 GROUPING
  9. 신규 함수 STATEMENT_DIGEST
  10. 신규 함수 STATEMENT_DIGEST_TEXT
  11. BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB 및 LONGBLOB에서 비트 연산 허용
  12. TIMESTAMP/DATETIME 값에 시간대 정보 포함 가능

JSON

  1. 신규 함수 JSON_PRETTY
  2. 신규 함수 JSON_STORAGE_SIZE
  3. 신규 함수 JSON_STORAGE_FREE
  4. 신규 함수 JSON_MERGE_PATCH
  5. 신규 집계 및 윈도우 함수 JSON_ARRAYAGG
  6. 신규 집계 및 윈도우 함수 JSON_OBJECTAGG
  7. 신규 테이블 함수 JSON_TABLE
  8. JSON 값의 더 빠른 정렬
  9. JSON path 표현식에 범위 적용
  10. JSON 값의 in-place 업데이트
  11. JSON 스키마 유효성 검사
  12. JSON 배열 인덱스
  13. 신규 연산자 MEMBER_OF
  14. 신규 함수 JSON_OVERLAPS
  15. 신규 함수 JSON_VALUE

GIS

  1. 공간 참조 시스템(SRS)
  2. CREATE SPATIAL REFERENCE SYSTEM 문
  3. DROP SPATIAL REFERENCE SYSTEM 문
  4. SRID 타입 수정자
  5. 지리적 R-트리
  6. 신규 setter 함수 ST_SRID(geometry, new_srid)
  7. 신규 setter 함수 ST_X(geometry, new_x)
  8. 신규 setter 함수 ST_Y(geometry, new_y)
  9. 신규 함수 ST_SwapXY
  10. 신규 함수 ST_Latitude
  11. 신규 함수 ST_Longitude
  12. 신규 함수 ST_Transform
  13. ST_Distance, ST_Contains, ST_Crosses, ST_Disjoint, ST_Equals, ST_Intersects, ST_Overlaps, ST_Touches, ST_Within, MBRContains, MBRCoveredBy, MBRCovers, MBRDisjoint, MBREquals, MBRIntersects, MBROverlaps, MBRTouches, MBRWithin, ST_IsSimple, ST_IsValid, ST_Length, ST_Validate, ST_Area의 지리 지원
  14. ST_Distance_Sphere 함수의 지리적 지오메트리 지원
  15. 모든 지오메트리 유형 간의 타원체 기반 거리 계산 ST_Distance
  16. GEOMCOLLECTION을 GEOMETRYCOLLECTION의 동의어로
  17. R-tree 인덱스 절에서 선택적 SPATIAL 키워드
  18. ST_Distance() 함수에서 길이 단위 지정 기능
  19. ST_Length() 함수에서 길이 단위 지정 가능

캐릭터셋과 콜레이션

  1. UTF-8(utf8mb4)을 기본 캐릭터셋으로
  2. 독일어(사전 순), 오스트리아 독일어(사전 순), 영어, 프랑스어(악센트가 없는 캐나다 프랑스어 포함), 아일랜드어, 인도네시아어, 이탈리아어, 룩셈부르크어, 말레이어, 네덜란드어(플랑드르어 포함), 포르투갈어(브라질 포르투갈어 포함), 스와힐리어, 줄루어를 포함하는 일반 유니코드 9.0 정렬 규칙
  3. 체코어를 위한 유니코드 9.0 정렬 규칙
  4. 덴마크어를 위한 유니코드 9.0 정렬 규칙 (노르웨이어에도 유효)
  5. 독일어(전화부 순)를 위한 유니코드 9.0 정렬 규칙
  6. 에스페란토어를 위한 유니코드 9.0 정렬 규칙
  7. 스페인어를 위한 유니코드 9.0 정렬 규칙
  8. 스페인어(전통)를 위한 유니코드 9.0 정렬 규칙
  9. 에스토니아어를 위한 유니코드 9.0 정렬 규칙
  10. 크로아티아어를 위한 유니코드 9.0 정렬 규칙 (라틴 문자를 사용하는 세르비아어 및 보스니아어에도 유효)
  11. 헝가리어를 위한 유니코드 9.0 정렬 규칙
  12. 아이슬란드어를 위한 유니코드 9.0 정렬 규칙
  13. 리투아니아어를 위한 유니코드 9.0 정렬 규칙
  14. 라트비아어를 위한 유니코드 9.0 정렬 규칙
  15. 폴란드어를 위한 유니코드 9.0 정렬 규칙
  16. 루마니아어를 위한 유니코드 9.0 정렬 규칙
  17. 슬로바키아어를 위한 유니코드 9.0 정렬 규칙
  18. 슬로베니아어를 위한 유니코드 9.0 정렬 규칙
  19. 스웨덴어를 위한 유니코드 9.0 정렬 규칙
  20. 터키어를 위한 유니코드 9.0 정렬 규칙
  21. 베트남어를 위한 유니코드 9.0 정렬 규칙
  22. 일본어를 위한 유니코드 9.0 정렬 규칙 (가나 민감 정렬 포함)
  23. 중국어를 위한 유니코드 9.0 정렬 규칙
  24. 러시아어를 위한 유니코드 9.0 정렬 규칙 (불가리아어에도 유효)
  25. RLIKE 및 REGEXP에서 유니코드 지원
  26. 유니코드 9.0 코드 포인트 순서 정렬 (utf8mb4_0900_bin)

Information Schema

  1. 정보 스키마는 데이터 사전 테이블 위에 구현된 뷰로 구현됩니다.
  2. VIEW_TABLE_USAGE
  3. VIEW_ROUTINE_USAGE
  4. KEYWORDS
  5. COLUMN_STATISTICS
  6. ST_GEOMETRY_COLUMNS
  7. ST_SPATIAL_REFERENCE_SYSTEMS
  8. ST_UNITS_OF_MEASURE
  9. RESOURCE_GROUPS
  10. CHECK_CONSTRAINTS
  11. APPLICABLE_ROLES
  12. ADMINISTRABLE_ROLE_AUTHORIZATIONS
  13. ENABLED_ROLES
  14. ROLE_TABLE_GRANTS
  15. ROLE_COLUMN_GRANTS
  16. ROLE_ROUTINE_GRANTS

Performance Schema

  1. 성능 스키마 인덱스
  2. 서버 에러 계측
  3. 쿼리문 지연시간 분포도
  4. 데이터 락 계측
  5. 플러거블 성능 스키마 테이블
  6. QUERY_SAMPLE_TEXT 추가
  7. 스레드 풀 테이블 추가

SHOW

  1. SHOW는 이제 숨겨진 컬럼을 나열합니다.
  2. SHOW는 이제 인덱스 정보를 나열합니다.

옵티마이저

  1. 히스토그램
  2. 적응형 스캔 버퍼 크기
  3. 메모리 IO와 디스크 IO 간의 비용 분리 계산
  4. 비용 테이블의 기본값
  5. 스토리지 엔진 API의 샘플링 인터페이스
  6. NOWAIT 및 SKIP LOCKED
  7. FORCE INDEX로 불필요한 인덱스 다이빙 방지
  8. 비가시성 인덱스 사용을 위한 옵티마이저 스위치
  9. 최적화 추적의 기본 버퍼 크기 증가
  10. 새 힌트 – MERGE
  11. 새 힌트 – INDEX_MERGE
  12. 새 힌트 – NO_INDEX_MERGE
  13. 새 힌트 – JOIN_FIXED_ORDER
  14. 새 힌트 – JOIN_ORDER
  15. 새 힌트 – JOIN_PREFIX
  16. 새 힌트 – JOIN_SUFFIX
  17. 새 힌트 – SET_VAR
  18. LIKE 연산자 사용시, 프리픽스 인덱스를 커버링 인덱스로 고려
  19. INSERT/UPDATE/REPLACE/DELETE의 EXPLAIN에 대해 변환된 문장 확인
  20. EXPLAIN ANALYZE
  21. HASH JOIN(이너, 아우터, 안티, 세미 조인)
  22. 이터레이터 실행기에서 배치 키 접근
  23. 그룹-바이 루스 인덱스 스캔 개선
  24. LIMIT 최적화를 비활성화하기 위한 새 옵티마이저 스위치
  25. 단일 테이블에서의 UPDATE/DELETE에 대해 세미조인 작동

InnoDB

  1. 고확장성 래치 프리 리두 로그 구현
  2. LOB 인프라 재설계를 통한 성능 향상
  3. 최첨단 잠금 스케줄러, 경합 인식 트랜잭션 스케줄링 (CATS) 사용 (미시간 대학교 기여)
  4. 잠금 없는 병렬 읽기를 위한 인프라 (현재 CHECK TABLE에서 사용)
  5. 인스턴트 컬럼 추가 및 가상 컬럼 지원
  6. 정보 스키마(Information Schema)를 통해 인덱스별로 버퍼 풀에 캐시된 페이지 보고
  7. Auto Increment 값의 영구 저장
  8. SQL 문법을 사용한 UNDO 테이블스페이스 관리
  9. 옵티마이저에서 사용하는 새로운 인메모 임시 테이블 스토리지 엔진
  10. 새로운 TempTable 엔진에서 BLOB 지원
  11. 전용 서버 모드: 버퍼 풀과 리두 로그 크기의 자동 구성
  12. 버퍼 풀 뮤텍스 제거 (Percona의 기여)
  13. 향상된 Purge 프로세스
  14. 데드락 감지기 동적 활성화/비활성화
  15. IO 레이어의 확장성과 효율성 개선
  16. Skip 및 No-Wait를 통한 확장된 잠금 의미론
  17. 새로운 에러 로깅 인프라 사용
  18. 시스템 데이터 사전이 이제 InnoDB에 저장됨
  19. 더 작은 코어 파일 생성을 위한 새로운 구성
  20. 파티션 테이블에서 공유 테이블스페이스 지원 중단
  21. 온라인으로 임시 테이블스페이스 디스크 공간 회수
  22. 유휴 상태에서 쓰기 IOPs를 제어하기 위한 새로운 옵션
  23. 히스토그램을 위한 테이블 데이터 샘플링 지원
  24. 파티션 테이블의 대소문자 구분 없는 이름 지원
  25. 개선된 CATS 구현 (잠금 관리자)
  26. Lock-sys 최적화: 샤드 기반 lock_sys 뮤텍스
  27. 원자적 쓰기를 보장하기 위해 더블 라이트 버퍼를 별도 파일로 저장
  28. 리두 로그의 전역 활성화/비활성화
  29. UNDO 테이블스페이스의 CREATE/TRUNCATE 작업이 리두 로그에 기록됨
  30. 테이블스페이스 파일 이름 검증을 선택적으로 변경
  31. 테이블스페이스를 지정된 디렉터리로 제한

데이터 딕셔너리, 원자적(atomic)이며 충돌 방지되는 DDL, 업그레이드

  1. 트랜잭션 기반 데이터 사전
  2. 모든 메타데이터를 InnoDB에 저장하여 FRM, TRG 등의 파일 필요 없음
  3. 메타데이터의 중복 복사본을 SDI에 저장
  4. 테이블스페이스 버전 지원으로 업그레이드/다운그레이드 경험 개선
  5. 직렬화된 딕셔너리 정보(SDI)를 포함한 자기 기술적 테이블스페이스
  6. SDI 관리를 위한 도구
  7. 원자적(atomic)이며 충돌 방지되는(crash safe) DDL
  8. CREATE TABLE…SELECT가 원자적이고 충돌 방지되도록 개선
  9. 딕셔너리 테이블의 자동 업그레이드 및 강화된 검증
  10. 자동 업그레이드 – mysql_upgrade 스크립트 불필요

네트워크

  1. --bind-address 옵션에 다중 주소 지원
  2. 관리 포트 추가
  3. 연결/연결 해제 성능을 위한 뮤텍스 병목 현상 제거
  4. 60자를 초과하는 호스트 이름 지원

에러 로깅

  1. 8.0에서의 향상된 오류 로깅
  2. 기본값 변경: log_error_verbosity=2
  3. 오류 메시지에 심각도, 오류 코드, 서브시스템 추가
  4. 오류 로그 필터링
  5. JSON 형식으로 오류 로깅
  6. 특정 비오류 메시지를 오류 로그에 강제 출력
  7. 경고 또는 참고 유형의 오류 로그 억제
  8. 새로운 “syseventlog” 설정
  9. --log-slow-extra 추가로 더욱 풍부한 슬로우 로그 기록
  10. JSON 오류 로그에 새로운 “ts” 타임스탬프 추가

복제

  1. 다중 소스 복제(Multi Source Replication)에서 채널별 필터 설정
  2. 바이너리 로그를 통한 원자적 DDL 복구
  3. Write-set 기반 트랜잭션 의존성 추적
  4. 수신 스레드와 적용 스레드 간 경합 감소
  5. 트랜잭션 내 임시 테이블에 대한 GTID 지원
  6. 부분 JSON 업데이트 복제
  7. 바이너리 로그에 확장된 테이블 메타데이터
  8. RESET MASTER TO ‘x’
  9. GTID_EXECUTED가 비어 있지 않을 때 GTID_PURGED 설정 가능
  10. 초 단위로 설정 가능한 바이너리 로그 만료 시간
  11. 디스크가 가득 찬 상황에서도 복제 모니터링이 중단되지 않음
  12. 바이너리 로그에 트랜잭션 바이트 길이 메타데이터 포함
  13. 바이너리 로그의 각 트랜잭션에 대한 서버 버전 정보
  14. 다중 스레드 복제본에서 START SLAVE UNTIL 명령어 지원
  15. 마이크로초 단위 지연 복제 지원
  16. binlog-row-event-max-size 시스템 변수
  17. PFS(Performance Schema)를 통한 복제 적용기 지연 및 큐 모니터링
  18. PFS: 백업을 위한 일관된 로그 위치 읽기
  19. PFS: 행 기반 복제 적용기 스레드 진행 상태
  20. PFS: 복제 적용기 재시도에 대한 카운터
  21. 바이너리 로그 마스터 키 온라인 회전 지원
  22. 바이너리 로그에 파티션 메타데이터 포함
  23. 바이너리 로그 캐시 암호화 지원
  24. mysqlbinlog의 프로토콜 압축 지원
  25. 권한 검사를 통한 복제 지원
  26. CHANGE MASTER … REQUIRE_ROW_FORMAT 옵션 추가
  27. 새 slave_preserve_commit_order 옵션
  28. 바이너리 로그 압축
  29. 복제본에서 기본 키 검사 활성화/비활성화

그룹 복제

  1. 트랜잭션 세이브포인트 지원
  2. 그룹 복제에서 격리된 멤버의 쓰기 작업 금지
  3. 그룹 전체 인증 및 적용기 통계 모니터링
  4. 흐름 제어를 세밀하게 조정하는 옵션들
  5. 화이트리스트에서 호스트명 지원
  6. 그룹에서 제외될 경우 서버 자동 종료
  7. 온라인 및 사용자 주도 기본 노드 전환/선출
  8. 온라인 및 사용자 주도 단일-다중 기본 노드 전환
  9. 설정 가능한 메시지 파이프라이닝
  10. 완화된 멤버 추방
  11. 일관된 읽기 지원
  12. 기본 노드 장애 조치 시 일관된 읽기
  13. IPv6 지원
  14. 메시지 전달에 대한 추적
  15. 주 노드 장애 조치 후보 우선순위 구성
  16. PFS: 계측된 스레드
  17. PFS: 계측된 뮤텍스와 조건 변수
  18. PFS: 메시지 캐시에 사용된 계측된 메모리
  19. GR에서 대용량 트랜잭션 지원 개선
  20. GR 통신 프로토콜 구성 가능
  21. EXIT STATE ACTION 기본값을 READ_ONLY로 변경
  22. 그룹 멤버의 자동 재가입 지원
  23. 그룹 복제를 위한 새로운 격리 모드: OFFLINE_MODE
  24. 그룹 복제에서 자동 인스턴스 복제를 통한 분산 복구
  25. 그룹 복제의 향상된 버전 간 상호 운용성
  26. 그룹 커뮤니케이션 시스템(GCS/XCom)에서 TLS 1.3 지원
  27. 그룹 전송 메시지 서비스
  28. group_replication_message_cache_size의 최소값 하향 조정
  29. group_replication_autorejoin_tries의 기본값 증가
  30. group_replication_member_expel_timeout의 기본값 증가
  31. GR 분산 복구 시 사용되는 IP 및 포트 지정 가능
  32. 중요한 GR 로그 메시지를 시스템 메시지로 분류
  33. START GROUP_REPLICATION 명령어에서 파라미터로 자격 증명 지원
  34. GR에서 바이너리 로그 체크섬 지원 추가

보안 – 인증

  1. Caching sha2 인증 플러그인
  2. 로그인 인증 실패 시 지연 도입
  3. 비밀번호 순환 정책 시행
  4. 일부 사용자에 대해 SET PASSWORD 시 기존 비밀번호 요구
  5. 사용자 계정당 2개의 활성 비밀번호 지원
  6. RANDOM PASSWORD로 식별
  7. 비밀번호를 16진수 문자열로 표시하는 옵션
  8. 보안 민감 변수에 대한 SET PERSIST 허용을 위한 추가 인증
  9. 윈도우에서 LDAP의 SASL 인증
  10. LDAP 인증 플러그인 (클라이언트 및 서버)
  11. 다중 LDAP 그룹을 가진 사용자 지원
  12. LDAP GSSAPI/Kerberos 인증
  13. 사용자가 mysql.user 테이블에 사용자 계정의 COMMENT/ATTRIBUTE를 저장할 수 있도록 허용
  14. 관리자 연결 포트를 위한 별도의 TLS 인증서 지원

보안 – 권한 부여

  1. SQL 역할
  2. SUPER 권한을 동적 권한으로 분리
  3. 새로운 사용자 생성 시 기본 역할 부여
  4. --skip-grant-tables에 대한 추가 안전 조치
  5. 보안 세션 변수 설정 (MYSQL_SESSION_ADMIN 권한)
  6. XA-트랜잭션 롤백에 대한 권한 확인
  7. 부분적 권한 취소 도입
  8. SYSTEM_USER 동적 권한 추가
  9. 사용자별 FAILED_LOGIN_ATTEMPTS/PASSWORD_LOCK_TIME 카운터
  10. SHOW_ROUTINE 권한 추가

보안 – 감사

  1. 감사 로그: 규칙 기반 조건에 따른 쿼리 중단
  2. 감사 로그: JSON 형식, 압축 및 암호화
  3. 감사 로그: 감사 로그에 데이터를 삽입할 수 있는 SQL 함수
  4. 감사 로그: 다중 암호화 비밀번호

보안 – 저장 데이터 암호화

  1. 테이블 암호화 제어
  2. 리두 로그 암호화
  3. 언두 로그 암호화
  4. 일반 테이블스페이스 암호화
  5. 시스템 테이블스페이스 암호화
  6. 바이너리 로그 암호화

보안 – 키 링 / 데이터마스킹

보안 – 키 링

  1. 서버를 키링 백엔드 마이그레이션 도구로 사용
  2. AWS KMS용 키 링 플러그인
  3. Hashicorp Vault용 키 링 플러그인
  4. 사용자가 키 링에 임의 데이터를 저장, 검색 및 관리할 수 있도록 허용

보안 – 데이터마스킹

  1. 데이터 마스킹 함수

보안 – SSL 및 기타

  1. 원자적 ACL 문장
  2. OpenSSL 전용
  3. FIPs 활성화된 OpenSSL 라이브러리 지원
  4. 외래 키 오류가 부모 테이블에 대한 정보를 노출하지 않도록 보장
  5. TLS 1.3 지원 추가
  6. 실행 중인 서버에서 SSL 옵션 변경 허용
  7. 클라이언트의 --ssl-mode 옵션으로 SSL 검사를 간편하게 설정
  8. 비동기 복제에서 TLS 1.3 지원: CHANGE MASTER 명령의 MASTER_TLS_CIPHERSUITES 옵션, group_replication_recovery_tls_version 플러그인 옵션 및 group_replication_recovery_tls_ciphersuites 플러그인 옵션

  1. InnoDB 클러스터: 쉘, 라우터 및 Group Replication에 대한 패키지 솔루션
  2. InnoDB ReplicaSet: 쉘, 라우터, 비동기 복제를 위한 통합 솔루션
  3. InnoDB 클러스터를 위한 원격 MySQL 서버 구성 및 재구성
  4. 복제 지연 시간등을 포함한 확장된 클러스터 상태 표시
  5. InnoDB 클러스터에서 수동 프라이머리 스위치오버 및 토폴로지 재구성
  6. 다양한 사용 사례 및 환경에 대한 고급 클러스터 사용자 정의
  7. MySQL 서버 업그레이드 체크 도구
  8. JSON 및 JSON 직렬화 BSON 데이터 가져오기
  9. 업데이트된 X DevAPI 지원
  10. 보안 비밀번호 관리
  11. 쿼리 결과에 대한 컬럼 메타데이터 표시
  12. 쉘 API의 직접 명령 줄 실행
  13. 개선된 내장 도움말
  14. 화면 페이징
  15. 자동 완성 기능
  16. 쉘 모드별로 유지되는 명령어 기록
  17. 사용자 정의 프롬프트
  18. JavaScript 또는 Python 모드에서도 작동하는 \sql 쉘 명령
  19. 사용자 정의 보고서 및 \show 및 \watch 쉘 명령어를 통한 서버 모니터링 지원
  20. 병렬 데이터 가져오기 유틸리티
  21. 쉘 확장 지원
  22. 쉘 플러그인 지원
  23. 다양한 결과 형식 지원: Table, tabbed, vertical, json/raw, json/pretty
  24. MySQL Shell 논리적 덤프 및 로드 유틸리티
  25. MySQL InnoDB 클러스터/ReplicaSet에서 인스턴스 숨기기 지원

라우터

  1. 마지막으로 알려진 메타데이터 서버 주소를 지속적으로 저장
  2. 성공적인 연결 시 max_connect_errors 재설정
  3. MySQL 서버 소스 트리의 일부로 라우터 빌드
  4. mysqlrouter_plugin_info 도구 추가
  5. 메타데이터 캐시 TTL을 300초에서 500밀리초로 감소
  6. 라우팅 전략 추가
  7. --report-host 부트스트랩 옵션 추가
  8. --account-host 부트스트랩 옵션 추가
  9. PRIMARY에서 SECONDARY로 변경된 서버 노드에 연결된 클라이언트 연결 해제
  10. SIGHUP을 통한 로그 로테이션
  11. HTTP 서버 플러그인
  12. 단일/다중 PRIMARY 그룹 복제를 위한 유연한 지원
  13. 새로운 mysqlrouter_keyring 유틸리티
  14. 라우터 로그에서 초단위 미만 타임스탬프 해상도 지원
  15. 라우터에서 ReplicaSet 지원
  16. 라우터에서 메타데이터 업그레이드 처리
  17. 기존 계정 재사용을 허용하는 새 부트스트랩 옵션 (--account)
  18. MySQL InnoDB Cluster 메타데이터를 이용한 HTTP 컴포넌트 인증
  19. 새로운 pid-file 옵션
  20. 새로운 “note” 및 “system” 로그 레벨
  21. 사용자가 설정할 수 있는 로그 파일명
  22. 애플리케이션에서 노드 숨기기 지원

X Protocol / X Plugin

  1. X Plugin / X Protocol에서의 연결 압축
  2. X Plugin / X Protocol에서의 Zstd 압축
  3. X Plugin / X Protocol에서의 구성 가능한 압축 수준
  4. X Plugin의 문서 스키마 검증기
  5. X Plugin에서 다중 –mysqlx-bind-address

기타

  1. 기본값 변경: Binlog = ON
  2. 기본값 변경: X Protocol = Enabled
  3. 기본값 변경: master_info_repository = TABLE
  4. 기본값 변경: relay_log_info_repository = TABLE
  5. 기본값 변경: explicit_defaults_for_timestamp = ON
  6. 기본값 변경: max_error_count = 1024
  7. 변수 이름 변경: tx_read_only -> transaction_read_only
  8. 변수 이름 변경: tx_isolation -> transaction_isolation
  9. 기본값 변경: max_allowed_packet = 67108864
  10. 기본값 변경: event_scheduler = ON
  11. 기본값 변경: back_log = -1 (자동 크기 조정)
  12. 기본값 변경: table_open_cache = 4000
  13. 서버에 mysqld_safe 기능 추가
  14. 미니멀 tarball
  15. 새로운 백업 락
  16. InnoDB 테이블스페이스에 서버 버전 저장
  17. 복구 및 분리된 프리페어드 XA 트랜잭션에 대한 MDL 락킹 활성화
  18. 외래 키에 대한 메타 데이터 락킹 지원
  19. 서비스 레지스트리와 컴포넌트 인프라스트럭처
  20. 복제 스트림을 읽기 위한 CLI 인터페이스
  21. 컴포넌트가 UDF를 자동으로 등록할 수 있는 UDF 등록 서비스
  22. MySQL 서버 문자열 컴포넌트 서비스
  23. 결과 집합 메타데이터 전송을 선택적으로 설정
  24. 컴포넌트를 위한 상태 변수 서비스
  25. 컴포넌트 서비스를 통한 성능 체계 계측 지원
  26. 컴포넌트를 위한 시스템 변수 서비스
  27. 컴포넌트로 구현된 비밀번호 검증 플러그인
  28. 호스트 애플리케이션에 신호를 전달하는 컴포넌트 서비스
  29. 플러그인이 프리페어드 스테이트먼트(prepared statement)를 사용할 수 있게 허용
  30. 쿼리 리라이트(rewrite) 플러그인에서 INSERT/UPDATE/DELETE 지원
  31. 정렬 버퍼의 동적 할당
  32. NO PAD 콜레이션을 위한 가변 길이 정렬 키
  33. 그룹화 없는 SELECT COUNT (*)의 속도 향상
  34. 소스 코드 개선
  35. 작은 tarball 다운로드 옵션
  36. FLOAT 및 DOUBLE로의 CAST
  37. OS 유저를 연결 속성으로 사용
  38. mysqldump 파일에서 gtid_purged를 주석으로 사용
  39. early plugin load 플래그
  40. 현재 스레드 컴포넌트 서비스
  41. 뮤텍스 잠금 순서 도구
  42. 연결 압축 제어
  43. Protobuf의 동적 링크
  44. max_prepared_stmt_count의 최대값 증가
  45. sys 스키마를 mysql 서버 트리로 이동
  46. 에러 메시지 인수의 컴파일 타임 검사
  47. 스키마 제약 조건을 위반한 문서의 정확한 위치 식별
  48. 명령줄 도구의 --binary-as-hex 옵션을 대화형 터미널에서 기본적으로 활성화
  49. 사용자 정의 함수 API에서의 캐릭터
  50. Sys 스키마: 저장된 함수(stored function)를 네이티브 함수로 대체
  51. 이제 Windows에서도 “system” MySQL 명령줄 명령이 작동합니다
  52. 관리자 세션은 max_connection 제한의 적용을 받지 않습니다
  53. 이제 중복 키 오류 정보에 키의 테이블 이름이 포함됩니다
  54. SIGUSR1 신호를 사용하여 로그를 플러시합니다
  55. 이제 MySQL C API가 비동기 함수에 대한 압축을 지원합니다
  56. 클라이언트 라이브러리에서 안전한 LOAD DATA LOCAL INFILE 디렉토리

문서

Leave a Comment



이 문서 공유

MySQL 8.0에서 추가된 모든 기능

링크 복사

CONTENTS