컴퓨터 / Computer

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

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

번호 제목 글쓴이 날짜 조회 추천 비추
33 구글 번역기 설정 페이지 공유지기 04.21 45 0 0
32 PC용 리눅스 운영체제 Ubuntu 공유지기 2013.07.14 1391 0 0
31 [게임] 탱크 슈팅 게임 BZFlag 공유지기 2013.06.01 1658 0 0
30 이윰빌더에서 아미나빌더로 이전 공유지기 04.13 70 0 0
29 아미나빌더(Amina Builder) Upgrade : (아미나 1.4.3 + 그누 5.1.2) -> ( … 공유지기 04.09 140 0 0
28 phpmyadmin 에서 테이블이 편집안되는 현상 공유지기 02.19 361 0 0
27 그림 파일 확장자를 판단하여 읽어들이는 코드 공유지기 02.06 358 0 0
26 웹 방화벽 Mod_security 설치 댓글+3 공유지기 01.18 456 0 0
25 CentOS 5.x 대에서 yum 문제 해결하기 공유지기 01.18 407 0 0
24 php 에서 number_format, filter_var 사용하기 공유지기 2017.12.24 465 0 0
열람중 MySQL/MariaDB 5.1 에서 5.5 업그레이드시 strict mode 해제 방법 공유지기 2017.12.23 501 0 0
22 CentOS 7에서 특정 ip와 특정 포트만 허용하기 공유지기 2017.12.20 517 0 0
21 phpmyadmin 설치하기 공유지기 2017.12.20 429 0 0
20 CentOS 7 방화벽 중 80포트 개방 공유지기 2017.12.20 616 0 0
19 CentOS 에 MariaDB 설치하기 공유지기 2017.12.20 446 0 0
18 NTPD를 이용한 시간 동기화 공유지기 2017.12.19 543 0 0
17 iptables 를 활용하여 ip 블럭하기 공유지기 2017.11.26 587 0 0
16 프라이버시 보호 브라우저 10선 공유지기 2017.11.03 702 0 0
15 XWidget 공유지기 2017.09.17 840 0 0
14 도메인 정할때 참고하는 사이트 공유지기 2017.09.16 777 0 0