문의하기
개발 이야기

MySQL 8.0 업그레이드 시 주의할 점

2021년 08월 10일 · 약 1분 소요 · 522회 조회 · 관리자

MySQL의 주요 변화

2021년 MySQL을 5.7에서 8.0으로 업그레이드했습니다. 성능 개선도 있었지만, 몇 가지 문제가 발생했습니다.

주요 변화 및 주의사항

1. 기본 인증 플러그인 변경

-- MySQL 5.7: mysql_native_password
-- MySQL 8.0: caching_sha2_password (기본값)

-- PHP 연결 문제가 생길 수 있으므로 PHP 버전 확인
// PHP 7.2 이상에서만 caching_sha2_password 지원

-- 필요시 사용자 플러그인 변경
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

2. 예약어 사용 금지

MySQL 8.0에서는 더 많은 예약어가 추가되었습니다. 칼럼명으로 예약어를 사용하면 에러가 발생합니다.

3. 그룹 함수의 엄격성

-- MySQL 5.7에서 작동하는 쿼리
SELECT user_id, name, SUM(amount) FROM orders GROUP BY user_id;

-- MySQL 8.0에서는 에러
-- ONLY_FULL_GROUP_BY 모드 때문

-- 수정 방법
SELECT user_id, MAX(name), SUM(amount) FROM orders GROUP BY user_id;

4. 윈도우 함수

MySQL 8.0은 윈도우 함수를 지원합니다. 이를 활용하면 복잡한 쿼리를 간단히 할 수 있습니다.

목록으로
무료 상담