•
일반적으로 두 가지 경우가 있다.
1.
MySQL 서버의 데이터 파일을 그대로 두고 업그레이드하는 방법
•
인플레이스 업그레이드라고 하며 여러 제약 사항이 있으나 업그레이드 시간을 크게 단축할 수 있다.
2.
mysqldump 도구를 이용해 MySQL 서버의 데이터를 SQL 문장이나 텍스트 파일로 덤프한 후, 업그레이드 된 버전의 MySQL 서버에 덤프된 데이터를 적재하는 방법
•
논리적 업그레이드라고 하며 버전 간 제약 사항이 거의 없지만 업그레이드 시간이 매우 많이 소요될 수 있다.
1. 인플레이스 업그레이드 제약 사항
•
마이너 버전 간 업그레이드(*.*.0 → *.*.1)
◦
데이터 파일의 변경 없이 진행되며 대부분의 경우, 여러 버전을 건너뛰어서 업그레이드하는 것도 허용된다.
•
메이저 버전 간 업그레이드(5.7.* → 8.*.*)
◦
대부분 크고 작은 데이터 파일의 변경이 필요하기 때문에 반드시 직전 버전에서만 업그레이드가 허용된다.
◦
만약 두 단계 이상의 버전을 업그레이드가 필요하다면 논리적 업그레이드가 더 나을 수 있다.
◦
특정 마이너 버전에서만 가능할 수 있다.
▪
GA 버전, 안정성이 확인된 버전이여야만 메이저 업그레이드가 가능하다.
2. MySQL 8.0 업그레이드 시 고려 사항
•
사용자 인증 방식 변경
◦
Caching SHA-2 Authentication 인증 방식이 기본 인증 방식으로 바귀었다.
•
MySQL 8.0과의 호환성 체크
◦
MySQL 5.7버전에서 손상된 FRM 파일이나 호환되지 않는 데이터 타입 또는 함수가 있는지 mysqlcheck 유틸리티를 사용하여 체크하는 것을 권장한다.
•
외래키 이름의 길이
◦
64글자로 제한되었으며 기존 외래키의 이름 중, 64자가 넘는 것이 있는지 확인하는 것을 권장한다.
•
인덱스 힌트
•
GRUOP BY에 사용된 정렬 옵션
•
파티션을 위한 공용 테이블스페이스