아직 전부 다 포스팅하진 못했지만, 나름 만들던 프로젝트가 형태를 갖추게 되었다.
그래서 AWS에 올려져있는 상태인데 DB 또한 AWS 쪽에도 구축을 해주었다.
현재는 이런 식으로 구축이 되어있다.
아무튼, 운영쪽에 DB를 만들었을 때 똑같은 쿼리를 이용해 만들었는데도
'Table ~~~ doesn't exist' 라는 에러문구가 떴다.
테이블을 찾을 수 없다고...
물론 한번 더 검색해보고 무슨 문젠지 바로 알아내긴 했지만...난 설정을 바꾼 적도 없는데?
원인은 대소문자를 구별하느냐, 안하느냐의 차이였다.
위 캡쳐는 내 로컬(Window) 환경에서 조회를 한 것인데 대소문자 상관없이 잘 조회가 된다.
띠용~AWS 쪽 테이블을 내가 대문자로 생성하긴 했지만...
난 대소문자 구분이 안될 줄 알았지?
그래서 설정을 조회해보았다.
show variables like 'lower_case_table_names';
둘이 값이 달랐다.
value값이 0이면, 대소문자를 구분하는 것이고 1이면 구분하지 않는다는 것이다.
알아보니...
1. MySQL(MariaDB)는 테이블과 데이터베이스명이 디렉토리와 파일명이다.
2. Window에서는 디렉토리와 파일에 '접근할때 대소문자 구분을 하지않는다.'
3. Linux에서는 디렉토리와 파일에 '접근할때 대소문자 구분을 한다 (= 대소문자 구분에 따라 다른 파일)'
그렇기 때문에 Linux 환경에서는 특별한 설정이 없을 시 만들때의 대소문자 구분 그대로 조회를 해야 한다는 것이다.
만일 대소문자 구분없이 쿼리를 수행하고 싶다면
https://roqkffhwk.tistory.com/91
좋은 글이 있다.
다들 저리로 가쇼
'프로그래밍 > Database' 카테고리의 다른 글
MariaDB 설치에러 (mariadb setup wizard ended prematurely because of an error) (0) | 2020.06.04 |
---|---|
DB 전체 용량 (전체, 사용중, 남은용량) 확인 쿼리 (0) | 2020.03.25 |
오라클 테이블, 컬럼 관련 조회문 (0) | 2019.03.13 |
오라클 컬럼명으로 테이블 찾기 (0) | 2019.03.13 |
SQL PLUS를 사용한 오라클 사용자 추가 (0) | 2019.03.13 |