728x90
반응형
MySQL 5.6.x이 EOL 로 인하여 클라우드 진영에서는 MySQL 5.7.x 이나 8.x 으로 업그레이드를 진행중이거나 진행해야 할 것이다. (AWS 에서는 Aurora MySQL 1.x -> 2.x로 업그레이드를 진행해야 한다.)
일반적으로 설치된 MySQL 5.6.x 이하 버전도 성능,보안을 위해 업그레이드를 권장한다.
업그레이드 후 확인사항
1. root@localhost 접속시 접속불가능 이슈
보안이 강화되면서 DBMS가 설치된 자체 서버에서 실행되는 쉘스크립트나 DBA 관리자 접속, 모니터링 툴에 접속이 안되는 경우가 발생할 수 있다.
새로운 root user의 접속정보를 추가하면 해결된다.
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password';
CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password';
2. ONLY_FULL_GROUP_BY - SQL Mode 기본 활성화
MySQL 5.6을 포함한 이전 버전에서는 group by 에 정의되지 않은 컬럼도 select 에서 사용할 수 있었는데 기본적인 옵션으로 해당 group by 쿼리는 사용할 수 없다.
-- 5.6.x 이하버전에서는 정상적으로 실행 되지만
-- 5.7 이상 버전에서는 에러발생
select a, b, c
from 테이블
group by a, b
어떻게 보면 어플리케이션에서는 해당 쿼리가 많이 사용될 수 있어 어플리케이션을 MySQL 5.7 에서 꼭 테스트를 많이 해봐야 한다.(SQL Mode 변경은 권장하지 않는다.)
3. OLD_PASSWORD 함수 제거
mysql_old_password 인증 플러그인(MySQL 4.1 이전 암호방식) 제거되면서 OLD_PASSWORD() 함수 제거
4. YEAR(2) DataType 제거
YEAR(2) DataType을 사용하는 테이블이 있으면 YEAR(4)로 변경/마이그레이션이 필요하다.
5. UNION 쿼리에서 ORDER BY, LIMIT 사용기준 변경
-- 5.7.x 사용법
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
레퍼런스
MySQL 업그레이드설명서 - https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html
728x90
반응형
'Database' 카테고리의 다른 글
SQL 비교연산자 <> 와 != 차이 (0) | 2022.01.26 |
---|---|
[Netezza] 엔터값(줄바꿈) 지우는 방법 (0) | 2021.10.07 |
[Netezza] 데이터 Unload 수행시 - The update count exceeded Integer.MAX_VALUE. 에러발생 (0) | 2021.09.16 |
DBeaver 버전정보 규칙변경(7.3.5 -> 21.x.x) (0) | 2021.06.17 |
[Greenplum/Postgresql] DO SQL명령어 사용법 (0) | 2021.06.14 |