강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

lulala님의 프로필 이미지
lulala

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Order Microservice

mariadb 패스워드 에러

작성

·

403

0

도커 orderService 컨테이너 실행시 저는 마리아 디비 패스워드를 입력하지 않았다고 에러가 나옵니다.

run 명령어에 password를 동적으로 할당하여 실행하니까 제대로 실행이 되긴 하는데 

위 캡쳐사진처럼 패스워드를 입력하였습니다. 하지만 동적으로 할당하지 않으면

Access denied for user 'root'@'localhost' (using password: NO)

이러한 에러한 에러가 뜨는데 password부분을 인식을 못하는것 같습니다.... 혹시 인시을 못하는 이유가 있을까요? 

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

Docker를 이용하여 Mariadb (또는 Mysql)를 기동하실 때는, 초기 데이터베이스 설정을 변경하시거나(사용자 추가 및 비밀번호 변경 등), 다음 중 세가지의 설정 중 하나를 지정하여 기동하셔야 합니다. 

- MARIADB_ROOT_PASSWORD (or MYSQL_ROOT_PASSWORD)

- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD (or MYSQL_ALLOW_EMPTY_ROOT_PASSWORD)

- MARIADB_RANDOM_ROOT_PASSWORD (or MYSQL_RANDOM_ROOT_PASSWORD)

위와 같이 root 패스워드를 설정하신 다음에, 애플리케이션에서 Datasource를 등록할 때는 지정하신 암호가 필요하기 때문에, application.yml 파일에서 지정하셔야 합니다. 만약 MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true 로 설정하셨다면, application.yml 파일에서도 password 설정은 비워두고 실행하셔도 됩니다. 

감사합니다. 

lulala님의 프로필 이미지
lulala

작성한 질문수

질문하기