운영_설치/도커
MySQL 컨테이너의 사용
써드아이
2020. 6. 11. 16:02
컨테이너는 휘발성이기 때문에 내부에 데이타를 저장하지 않고 별도의 공간 (볼륨이나 호스트의 디렉토리)를 사용해야 데이타의 보존이 가능하다.
docker의 mysql 컨테이너는 기본적으로 db 관련 내용을 /var/lib/mysql에 저장하며, 이 디렉토리가 비어 있을 경우 필요한 파일들을 자동으로 생성한다.
(mysql_install_db 스크립트로 초기화 시킬수있으며 5.7 부터는 별도의 스크립트가 mysqld --initialize 옵션으로 대체됐다.)
mysql 컨테이너를 실행할 때 별도의 저장소에 저장할 경우 첫 실행에서 (/var/lib/mysql의 내용이 초기화 될 때) root 의 비번을 넣지 않으면 (MYSQL_ALLOW_EMPTY_PASSWORD=true 으로 실행하면) root 계정의 비번은 없다고 저장이 되기 때문에 다음 실행에 아무리MYSQL_ROOT_PASSWORD=????을 주어도 소용이 없다.
mysql 에 접속해서 root의 비번을 바꿔주는 과정이 필요하다!!!
mysql을 사용하는측에서 설정을 통해 필요한 db와 사용자 등을 생성해주는 과정을 거치는 것이 바람직한 방식 같다