인프런 커뮤니티 질문&답변
mariadb 패스워드 에러
작성
·
403
0
도커 orderService 컨테이너 실행시 저는 마리아 디비 패스워드를 입력하지 않았다고 에러가 나옵니다.
run 명령어에 password를 동적으로 할당하여 실행하니까 제대로 실행이 되긴 하는데
위 캡쳐사진처럼 패스워드를 입력하였습니다. 하지만 동적으로 할당하지 않으면
Access denied for user 'root'@'localhost' (using password: NO)
이러한 에러한 에러가 뜨는데 password부분을 인식을 못하는것 같습니다.... 혹시 인시을 못하는 이유가 있을까요?
답변 1
1
안녕하세요, 이도원입니다.
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 설정은 비워두고 실행하셔도 됩니다.
감사합니다.





