강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

MySQL / MariaDB에서 테이블명의 대소문자 구분하지 않도록 설정하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

테이블명의 대소문자 구분 하지 않도록 설정하기 



기본적으로 Mysql / MariaDB에서는  테이블명의 대소문자를 구분한다. 

이유는 간단하다. 

테이블을 파일로 생성하고 관리하기 때문이다. 

즉, 리눅스에서는 파일의 대소문자를 구분하기 때문에 MySQL / MariaDB의  테이블명은 당연히 구분된다. 


이런 테이블명의 대소문자 구분을 하지 않도록 설정하려면  다음 옵션값을 변경해주면 된다. 


lower_case_table_names 
이 값의 기본값은 0이며  대소문자를 구분한다. 
이 값이 1이면 대소문자를 구분하지 않는다. 

그렇다면 이 옵션값을 1로 변경해주면 된다. 


변경하는 방법은 2가지가 있다. 



1. MYSQL root로 접속하여 set 명령어로 변경하는 방법


mysql> show variables like 'lower%';


결과에서 lower_case_table_names 값을 1로 설정하면 됩니다. 


mysql > set lower_case_table_names=1; 


이 설정이 다음과 같 에러(read only)가 난다면

Error Code: 1238 Variable lower_case_table_name is a read only variable



2. /etc/my.cnf에서 변경하는 방법


다음과 같이 /etc/my.cnf에서 설정하면 된다. 


lower_case_table_names=1


그런다음  MYSQL 재시작하고 


다시 mysql에 접속해서 lower_case_table_names 값이 1로 변경되어 있는가를 확인한다. 


안정되게 계속 적용되도록 하려면  2번 방법이 권장된다. 


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,158 명
  • 현재 강좌수 :  36,498 개
  • 현재 접속자 :  319 명