8.0 → 8.4 LTS 업그레이드 사전 점검 (util.checkForServerUpgrade)
MySQL업그레이드명령어
# State the target version explicitly; the Shell must be the same version as the target or newer
mysqlsh root@db1:3306 -- util check-for-server-upgrade --target-version=8.4.10 --output-format=TEXT
# JSON output for automation, including a my.cnf check
mysqlsh root@db1:3306 -- util check-for-server-upgrade --target-version=8.4.10 --output-format=JSON --config-path=/etc/my.cnf > /tmp/upgrade_check.json하는 일
현재 서버를 대상 버전과 비교 점검한다: 제거된 변수와 권한, 기본값이 바뀐 파라미터, 레거시 인증 방식, 잘못된 컬럼 정의, 외래 키 및 파티션 문제. 오류 수준 발견 사항은 업그레이드를 차단한다.
사용 시점
모든 메이저/LTS 업그레이드 전. 발견 사항을 수정한 후 다시 실행한다.
주의
경고도 검토한다: 8.4에서는 innodb_io_capacity (10000), innodb_log_buffer_size (64 MB), innodb_adaptive_hash_index (OFF), innodb_change_buffering (none), innodb_buffer_pool_instances, group_replication_consistency 같은 기본값이 바뀌어 성능에 영향을 줄 수 있다. 현재 동작을 유지하려는 값은 my.cnf에 고정한다. SET_USER_ID 같은 제거된 권한은 업그레이드 중 삭제된다. 먼저 replica를 업그레이드해 부하 상태에서 관찰한 뒤 switchover한다. 8.4에서 8.0으로의 바이너리 다운그레이드는 지원되지 않으므로 대비책은 논리 백업 또는 이전 버전에 남겨 둔 replica다.