컴퓨터 / 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

여름용 목토시 마스크 리플러스 이어 멀티스카프
남성 분리수납 확장형 여행백팩 기내용 출장용 BK102
더블 지퍼 이너백 백인백 파우치 속가방 멀티 다용도
방수 슬리퍼 버클신발 남자슈즈 여름 여행신발
빠띠라인 엔틱 황동 USB전용 탁상선풍기
이케아YUPPIENALLE 위우피에날레 휴대폰홀더 열쇠고리
갤럭시 A32 달토끼 홀로그램 미러범퍼케이스
에펠 20인치 전자식 듀얼헤드 공업용 업소용 대형 리모컨 선풍기 UEF-2320 사무실 헬스장 공장 미용실
칼라나무목판액자(블루)
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
이케아 ENUDDEN 에누덴 문걸이행거
(리버퍼니쳐) 클라인 원목 슬라이딩 틈새장 200 (착불)
(꿈쟁이) 에코팟-메시지콩
3M 일반 막대걸레 표준형 바닥청소 3165
902s ARMOUR 모자처럼 착용하는 헬멧(AR10)
여성 하프집업 베이직 아노락 세트

미세모 미니 틈새 먼지제거 브러쉬 투명보호캡 포함 자동차 실내 청소솔
칠성상회
3M 몰딩 양면테이프 회색 8mm x 11M
바이플러스

맨위로↑