티스토리 뷰

반응형

MySQL 5.7 부터는 group by 에 지정되지 않은 컬럼이 select 에 존재해도 문제가 발생되지 않던 부분이 오류가 발생되도록 변경되었습니다. 이를 위해 group by 에 있지 않은 컬럼에 ANY_VALUE(), GROUP_CONCAT(), MAX() 와 같은 집계 함수를 사용하여 문제가 발생하지 않게 하거나 group by 항목에 넣거나 다른 방식으로 처리를 해야 합니다.

기존과 같이 동작하게 하기 위해 MySQL 의 설정을 변경하는 방법도 존재합니다.

select @@GLOBAL.sql_mode

sql mode 에 ONLY_FULL_GROUP_BY 가 존재할 것인데, 이를 제거하고 다른 설정만 남겨두는 것입니다. 물론 MySQL 설정파일에 [mysqld] 항목에 sql_mode 값을 추가하여 서버 기동 시 적용되도록 할 수 있습니다.

 

만약, Docker 을 이용한다면 설정파일을 추출한 뒤 수정한 다음 다시 Docker 이미지에 파일을 갱신하는 방법을 이용하면 됩니다.

파일 추출 예 : docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf C:\Users\zepinos\Desktop\
파일 갱신 예 : docker cp C:\Users\zepinos\Desktop\mysqld.cnf mysql:/etc/mysql/mysql.conf.d/mysqld.cnf
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함