Product/Docker
[Docker] MySQL 초기 DB/User/Data SQL 세팅
Codit Develop
2022. 2. 18. 11:41
반응형
Docker MYSQL 초기 DB 및 데이터 세팅
작성 파일
- DB 세팅 SQL Files (setInit.sql, setTable.sql)
- SQL 실행 Shell (initDB.sh)
SQL 작성
# /mysql/conf/setInit.sql
# DB 생성
CREATE DATABASE initdb;
# User 생성
CREATE USER dbuser IDENTIFIED BY 'qwer1234';
# User 권한 설정
GRANT ALL PRIVILEGES ON initdb.* TO 'dbuser'@'%' IDENTIFIED BY 'qwer1234';
# /mysql/conf/setTable.sql
CREATE TABLE ...
Init Shell 작성
# /mysql/conf/initDB.sh
# sql 파일 권한 수정
chmod 755 setInit.sql
chmod 755 setTable.sql
# Init
mysql -uroot -pexample < setInit.sql
mysql -udbuser -p'qwer1234' dbciboard < setTable.sql
Dockerfile 및 docker-compose.yml 적용
Dockerfile
...
COPY /mysql/conf/ /docker-entrypoint-initdb.d/
docker-compose.yml
...
volumes:
- "/mysql/conf:/docker-entrypoint-initdb.d:rw"
적용
docker build - run
또는 docker-compose up -d
실행 시 docker-entrypoint-initdb.d
가 자동으로 실행되어 적용됨.
반응형