Docker환경에서 MySQL 대소문자 구분

SEOP·2023년 4월 15일
0
post-thumbnail

데이터베이스에 테이블이 존재하는데 존재하지 않는다고 오류가 떴다.

MySQLWorkbench를 실행시켜 테이블 조회를 해본다.

조회가 된다.
프로젝트를 하며 SQL구문을 대문자로만 적었기에, 혹시나 싶어서 테이블명을 대문자로 적어 조회해본다.

조회가 되지 않는다.
Oracle을 Docker에서 사용할 때는 대소문자 구분을 하지 않았는데,
MySQL을 Docker에서 사용할 때는 대소문자 구분하는 경우가 있다.
대소문자 구분 설정을 조회하기 위해 아래의 구문을 실행해본다.

show variables like 'lower_case_table_names';

Value = 0 ----------->대소문자 구분
Value = 1 ----------->대소문자 구분X

해결 방안

설치되어 있는 컨테이너에 접속하여 vi 실행 후, 설정을 바꿔도 가능하지만
일단 컨테이너에 vi가 설치되어 있지 않아
설치하려고 했는데 실패....

그냥 컨테이너 하나 새로 만들어 주는게 마음 편하다.

$ docker run --name {컨테이너 이름} -p 3306:3306 -e MYSQL_ROOT_PASSWORD={password} -d mysql --lower_case_table_names=1;

이제 대소문자 구분 하지 않는다.

참고 : https://hackmd.io/@bonjugi/BkxMuegyS
참고 : https://javacpro.tistory.com/75

profile
응애 나 애기 개발자

0개의 댓글