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

발 시림 방지 사무실 학교 매장 패딩 털신 실내화
GE_4233 보스턴백
여성 보석 패딩슬립온
Verwendung 여자 샌달
조아스 충전식 면도기 JS-5715 망날1세트추가구성 전
(2매)갤럭시탭 액티브3 8.0 고투명 액정보호필름
한일환풍기 환풍기 송풍기 EK-2070 561-5161
IN NETWORK 분리 배관용 하이브리드 광 HDMI 2.0V 4K 블랙메탈 망사 케이블 40M IN-MHAOC2040 (반품불가)
이케아 FINSMAK 핀스마크 미니 양초 캔들 유리 홀더
이케아 GLASIG글라시그 미니양초홀더 유리5x5cm 5개입
이케아 YLLEVAD 윌레바드 미니액자 화이트13x18cm
LED 전구 T 벌브 램프 40W 전구색 E26 비츠온
봉동봉상생강청 1LX2
다이젝스 와플 메쉬마스크 귀걸이형 자전거마스크
딩고껌 오리 5p x 10개
매일두유99.9 950ml 12팩

자동차 강아지 흔들이 인형 장식품 노호혼 닥스훈트
칠성상회
바른키즈 눈송이 블럭 200pcs
칠성상회

맨위로↑