컴퓨터 / Computer

MySQL/MariaDB 5.1 에서 5.5 업그레이드시 strict mode 해제 방법

0_fivEmSUN_cafc0046fceae53820e6e11ed19a3a0d3034ec3c.jpg 


MySQL이나 MariaDB의 경우 5.1에서 5.5로 이전할때 주의할 사항이 있다. 5.1에서는 별 문제 없었으나 5.5에서는 STRICT MODE가 기본으로 설정되어 있다.

 

DB 프로그래밍 할때 모든 변수를 매칭시키도록 해 놨으면 괜찮은데 예전에 짠 프로그램의 경우 일부 항목은 입력을 하지 않도록 해 놨을 것이다. 그런 경우에는 STRICT MODE를 해제해야 할 것이다.

 

 

1. Mode 확인

 

mysql 콘솔로 가서 아래와 같이 입력을 해 본다.

 

 SELECT @@global.sql_mode;

 

이때 결과값이 아래와 같다면 STRICT MODE이다.

 

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION 

 

2. 변경하기.

 

mysql 콘솔에서 아래와 같이 입력한다.

 

 SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';

 SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';

 

 

3. my.cnf 에서 저장하기 

 

그런데 2와 같이 하면 mysqld 를 다시 실행할때마다 원래대로 변경될 것이다.

따라서 my.cnf (혹은 my.cnf.d/server.cnf 에서. 주로 server.cnf를 바꿔야 할 것이다.) 에 아래 항목을 추가한다.

 

 

 [mysqld]

 sql_mode="NO_ENGINE_SUBSTITUTION"

 

경우에 따라서는 아래와 같이 추가가 된 경우도 있을 것이다. 이때 STRICT로 시작하는 부분을 없애거나 저 줄을 주석처리하고 새 줄에서 위 라인을 추가한다.

 

 [mysqld]

 sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

 

 

이제 1로 가서 설정 유무를 확인해 보고 프로그램 정상 동작 여부를 확인해 보라.

 

Comments

4컬러 오리지널 롱 남성장화 방수장화 남성용 레인부츠 장마철 패션장화
Y2K메탈머리핀 헤어핀 헤어 머리핀 집게핀
일회용 비닐 마스크팩 100매 수분팩 얼굴팩 얼굴비닐
원목 십자가 키링
휴대폰 스마트폰 미러톡 스마트폰 누워서 거치대
갤럭시노트20 카노 스탠딩 다이어리 케이스 N981
슈퍼 프로텍트 케이스 갤럭시A15(A155/156) (반품불가)
갤럭시퀀텀3 잭팟 힙 플립커버 케이스 M536
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
강력 가죽 보수 테이프
만능 면도경/샤워바용 욕실거울 확대경 원형 면도거울
르플랑 한소쿠리 초록영귤 디퓨저 90ml
코카콜라 업소용 500ml 24PET
남양유업 맛있는두유 GT 검은콩깨 200ml 30병
포커 원카드 보드게임 트럼프 카드 DD-11228
OX0043 옥스포드 커스텀 지갑

아모스 글라스데코 썬데코 별자리 어린이 미술놀이
칠성상회
LF쏘나타 뒷좌석 편안하개 차량용 에어매트
칠성상회

맨위로↑