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

베르가모 남성 스킨로션 남자 스킨 로션 향수 3종세트
간편 로우번 가발 집게핀 OSM-1005793
ASF-0007 헤어핀 로우번 똥머리 스타일링 부분가발
심플 지퍼 스포츠백 ELG-222
갤럭시S25 케이스 인포켓 지갑 다이어리 S931
소형 녹음기 장시간 녹음기 미니 음성녹음 휴대용 녹음기 고성능 32G
SMJ SM-3038 미러리스 카메라 볼헤드 태블릿거치대 세트 미니삼각대
키보드 마우스 패드 팜레스트 푹신한 손목 받침대
4단 신발 정리함 수납 조립식 선반 현관 신발장
벨로 실버헤어라인 전기 전등 1로 2구 스위치
디귿철제 슬라이드 슬라이딩 수납함 소형
후라이팬 정리대 그릇선반 접시거치대 홀더 수납장 신발장 수납선반
타지마 TAJIMA 탑콘베 줄자 TOP-20
스트레스 해소 딸깍이 파스텔 키캡 키링 키홀더 열쇠고리
셀프네일케어 손톱깎이세트 16종 홈케어
마사지기 안마 허벅지 허리 지압 복부 어깨 마사지 마사지볼 안마의자

원터치 전동 분무기 1P 2L 손잡이 블랙 USB 충전 세차
칠성상회
고급 스틸 만년필 잉크 볼 펜 알루미늄 손글씨(특가)
칠성상회

맨위로↑