[MySQL] lower_case_table_names - 대소문자 구분 파라미터

MySQL에서 대소문자 구별 파라미터입니다.

관련 옵션들은 다음과 같습니다.

lower_case_table_names = 0

테이블 생성 조회 ·소문자 구분한다. 유닉스 혹은 리눅스에서 사용.

 

lower_case_table_names = 1

입력 값이 ·소문자든 소문자로 인식 소문자 인식 파일 생성. 모든시스템에서 사용하려면 이것으로 사용.

 

lower_case_table_names = 2

윈도우에서 ·소문자를 구분해서 테이블생성 

 

테이블 데이터베이스 이름은 CREATE TABLE 또는 CREATE DATABASE 문에 지정된 문자 대소 문자를 사용하여 디스크에 저장되지만 MySQL 조회시이를 소문자로 변환합니다. 이름 비교는 대소 문자를 구분하지 않습니다. 이것은 대소 문자를 구분하지 않는 파일 시스템에서만 작동합니다! InnoDB 테이블 이름과 이름은 lower_case_table_names = 1 같이 소문자로 저장됩니다.

 

MySQL 5.7에서는 운영중에도 파라미터 값을 변경해서 재시작 후 계속 운영이 가능했지만 8.X 이상부터는 중간에 변경이 안됩니다.

즉 한번 설정하면 그걸로 끝입니다. MySQL을 초기화할때 그때 선택한 값으로 끝까지 가게 됩니다.

그래서 처음 선택할때 어떻게 값을 정할지 결정해야 합니다.

 

참고로 운영체제에 따른 기본값은 다음과 같습니다.

리눅스와 유닉스의 경우 0, 윈도우의 경우 1, MAC 경우 2 기본 값입니다.

 

사용방법은 다음과 같습니다.

shell> vi my.cnf
[mysqld]
lower_case_table_names=0

 

Designed by JB FACTORY