docker

docker mariadb 테이블 대소문자 구별 적용(lower_case_table_names = 1)

초이짬 2020. 8. 14. 12:02
728x90

도커로 마리아db 를 설치하면 설치도 간단하고 참 편하다 근데 데이터 이관하면 테이블이 없단다.

 

문제는 기본 옵션인 lower_case_table_names = 0 요놈 때문에 테이블에 대해서 대소문자를 구분해서

 

발생된다. lower_case_table_names = 1 이렇게 주고 재시작 하면 간단히 해결은 되는데 대체 어디서 줘야 하는지

 

그리고 재시작은 어캐 하는지 문제가 걸린다. 1시간 이상 헤멘다

 

도커 마리아 설치 하고 내부 진입후

ex)docker exec -it [컨테이너명 ex)mariadb] bash (/bin/bash 라고 안하고 bash 라고만 해도 됨)

 

vi /etc/mysql/my.cnf

 

에서 젤 하단에 아래와 같이

 

[mysqld]

lower_case_table_names  = 1

 

하고 나와서

 

docker restart [컨테이너명 ex)mariadb] 

 

하고 디비 접속 해서 

 

show variables like 'lower_case_table_names'; 

 

요거 날려서 1 이라고 나오면 정상 적용이다 

 

0값이 디폴트고 이건 대소문자 가리고 1은 안가린다.

 

문제는 저걸 첨에 알아서

[mysql]
lower_case_table_names=1 

요런식으로 햇더니 안먹었다 오타 때문인지 띄워쓰기를 안해서 그런건지

아무리 도커를 재시작해도 안먹었는데 위에처럼 하고 재시작 하니까 잘된다.

도커 재시작시에 내부 프로세스도 재시작 되나 헷갈려서 시간이 걸렷다

결론 도커 재시작하면 내부 프로세스도 먹는다.

 

근데 r의 경우는 재시작 해도 사용자 세션 남아 있으면 안끊기고 계속 남아 있던데?

728x90