반응형
Linux에서 MariaDB 설치한 후 query 시, 대소문자를 구분하는 문제가 있습니다.
(Windows에 설치 할 경우 이런 문제가 없습니다.)
그 이유는 lower_case_table_names 옵션 때문인데요
이 옵션의 값은 아래와 같습니다.
lower_case_table_names 옵션 값
- lower_case_table_names=0 : 테이블 생성 및 조회 시 대/소문자 구분
- lower_case_table_names=1 : 입력 값을 모두 소문자로 인식. 즉, 대소문자 구분하지 않음
- lower_case_table_names=2 : 윈도우에서 대/소문자를 구분해서 테이블 생성
아까 Windows에서는 대소문자를 구분하지 않는다고 했는데, 그 이유는 OS별로 default value가 다르기 때문입니다.
OS별 default value
- linux, unix : 0
- windows : 1
- mac OS : 2
그렇다면, linux에서 이 값을 바꾸려면 어떻게 해야 할까요?
lower_case_table_names 변경 방법(centos7)
1) /etc/my.cnf.d/server.cnf 파일을 열고 [mysqld] 밑에 아래 문자열 추가(이 경로에 없다면 /etc/my.cnf 파일 확인)
lower_case_table_names=1
2) mariadb 재시작
# systemctl stop mariadb
# systemctl start mariadb
3) 적용 확인
show variables like 'lower_case_table_names';
* 참고사항
- Windows환경에서 저같은 경우 C:\Program Files\MariaDB 10.4\data\my.ini 파일의 [mysqld] 밑에 lower_case_table_names를 추가해 주라는 다른 블로그 글이 있었지만 이렇게 하면 mariadb 서비스가 재시작이 되지 않았습니다.
- 다른 블로그 글에서 C:\ProgramData\MySQL 폴더에서 수정하라고 되어 있었으나, MySQL, MariaDB 폴더 모두 존재하지 않았습니다.
참고 사이트
728x90
반응형
'Database ( DB ) > Database' 카테고리의 다른 글
DBMS별 함수 비교 (0) | 2021.05.16 |
---|---|
[MySQL] 문자열 길이 가져오기(length, char_length 함수) (0) | 2021.05.16 |
DBCP valicationQuery 설정 (0) | 2021.01.31 |
CentOS 7] MariaDB(mysql) 외부 접속 가능하게 하는 방법 (0) | 2021.01.02 |
utf8 vs utf8mb4 (0) | 2021.01.02 |