MySQL / MariaDB에서 테이블명의 대소문자 구분하지 않도록 설정하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 1,810 조회
- 0 추천
- 목록
본문
테이블명의 대소문자 구분 하지 않도록 설정하기
기본적으로 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번 방법이 권장된다.
관련자료
-
이전
-
다음