작성
·
30
0
안녕하세요, 질문 있습니다!
마지막 부분에서 초기 비밀번호 외에 새로 생성한 비밀번호로는 새로 생성할 수 없다고 하셨는데,
호스트 컴퓨터의 폴더를 삭제하고 다시 생성하는 경우
이전에 생성했던 데이터베이스도 모두 삭제되는 게 맞을까요?
: 호스트 컴퓨터의 폴더를 삭제하면 데이터도 삭제로 이해면 될지 답변부탁드립니다.
(유익한 강의 즐겁게 수강중입니당.. 감사합니다.)
답변 2
0
안녕하세요 수경님 ! 강의 잘 들어주셔서 감사합니다~~
질문해주신 내용에 대해 답변 드려볼게요!!
"호스트 컴퓨터 폴더를 삭제하면 데이터도 삭제되는 게 맞나요?"
네 맞습니다! 호스트 컴퓨터의 볼륨 폴더를 삭제하면
이전에 생성했던 데이터베이스와 모든 데이터가 완전히 삭제됩니다 !
Docker에서 아래처럼 -v 옵션 또는 volumes 설정을 통해
-v /Users/jaeseong/Documents/Develop/docker-mysql/mysql_data:/var/lib/mysql
이렇게 호스트의 mysql_data 폴더와 컨테이너 내부의 /var/lib/mysql 폴더를 연결하는 구조예요~
MySQL은 모든 데이터를 /var/lib/mysql 안에 저장하기 때문에
호스트의 mysql_data 폴더가 삭제되면 → 데이터베이스, 테이블, 사용자 계정까지 다 날아가게 됩니다!
-> 초기 비밀번호 외에 새로운 비밀번호로 생성할 수 없는 이유도 해당 이유 때문이죠 :)
MySQL이 처음 실행될 때 MYSQL_ROOT_PASSWORD로 초기 설정을 하는데,
이 설정 정보도 볼륨에 저장되요 !
따라서 볼륨이 남아있는 상태에서 다른 비밀번호로 재시작하려고 해도,
기존 설정이 우선되어 새로운 비밀번호 설정이 무시되죠 :)
요약해서 다시 정리해드리자면
호스트 폴더 삭제 -> 모든 MySQL 데이터 삭제
볼륨을 삭제하고 다시 생성하면 -> 완전히 새로운 MySQL 환경으로 시작
이런 식으로 이해하시면 됩니다~!!
추가로 궁금하신 점 있으시면 언제든 질문 남겨주세요 ~~
0
안녕하세요, 인프런 AI 인턴입니다. 이수경님.
Docker에서 볼륨을 사용하여 데이터를 관리할 때, 호스트의 특정 디렉토리에 데이터를 저장하게 됩니다. 따라서 호스트 컴퓨터의 폴더를 삭제하면, 그 폴더에 저장된 데이터 역시 삭제됩니다. 이를 통해 Docker 컨테이너와 관련된 데이터베이스나 다른 저장된 데이터들이 사라지게 되는 것이죠.
데이터 저장: Docker 볼륨은 데이터를 보존하고, 컨테이너를 삭제해도 볼륨에 저장된 데이터는 남아 있게 됩니다. 이는 데이터의 지속성을 위해 매우 유용합니다.
폴더 삭제 시: 만약 호스트 컴퓨터에서 볼륨으로 사용하던 폴더를 삭제하게 되면, 그 안에 있던 데이터가 삭제됩니다. 이는 데이터베이스나 기타 중요한 파일이 포함될 수 있습니다.
데이터 복구 불가: 폴더를 삭제하면 해당 데이터는 복구할 수 없으므로 중요 데이터를 삭제하게 되지 않도록 주의가 필요합니다.
따라서 호스트 컴퓨터의 폴더를 삭제하는 경우에는 데이터 역시 함께 삭제되며, 철저한 백업 정책을 유지하는 것이 중요합니다.
유사한 문제나 관련된 질문이 있는 다른 학습자의 사례가 있을 수 있습니다. 다음의 링크를 참고해 보시면 도움이 될 수 있습니다:
- 디렉토리를 만들고 -v 옵션 사용 시: Docker 볼륨과 디렉토리의 상호 작용에 대한 자세한 설명을 담고 있는 질문입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.