less than 1 minute read


프로젝트에서 DB를 RDS로 사용하기로 결정하여 RDS로 DB인스턴스를 생성하고 spring boot 프로퍼티에 설정후 실행하던중 Table 이 존재하지 않는다는 에러가 발생하였다.

확인해보니 대소문자를 구분하고 있기 때문에 spring boot에서는 대분자로 테이블과 매핑하려고 하여 에러가 발생한것이었다. </small>


SHOW VARIABLES LIKE 'lower_case_table_names';


현재 대소문자 구분설정을 확인해보려면 위와같이 명령어를 치면 된다.

  • lower_case_table_names = 0 일 경우 대소문자를 구분한다.
  • lower_case_table_names = 1 일 경우 대소문자를 구분하지 않는다.

    ** default는 0 으로 세팅된다.

lower_case_table_names 를 1 로 바꿔주면 대소문자를 구분하지 않을것이다.

AWS RDS에 접속 > 수정하려는 인스턴스 선택 > 구성탭 선택 > 파라미터 그룹 클릭



lower 로 검색창에 필터링해서 lower_case_table_names를 1로 바꿔준다.



해당내용 저장 후 RDS인스턴스를 재시작하면 해당내용이 반영 된다.



주의 할 점

  • 파라미터 그룹 설정을 수정하기 전 ddl을 수정하거나 하면 테이블 등이 꼬일수도 있다 (내가 그랬음 ;;)
  • 검색해보니 위의 내용은 mysql 8.xx이전 버전에서만 적용가능하고 8.xx이상의 버전에서는 인스턴스를 생성후에는 lower_case_table_names 를 못바꾸는것 같다. 인스턴스 생성할때 lower_case_table_names = 1 로 설정해주자!</small>

Categories:

Updated: