MySQL에서 락, 인덱스 등을 공부하며 샘플 데이터가 필요한 일이 많아졌다.
MySQL에서는 샘플 db를 제공한다.
Docker로 MySQL 컨테이너를 띄우고, employee 샘플 데이터를 적재하는 방법을 알아보자.
(🍎 나는 MacOS 환경에서 진행했다.)
🐳 Docker로 MySQL 컨테이너 띄우기
1. Docker 설치
이 과정은 여러 블로그에 상세하게 나와있으므로 생략하겠다!
아래 사이트에 가서 자신의 운영체제에 맞는 Docker를 설치하도록 하자.
2. MySQL Docker 이미지 다운로드
아래 명령어로 mysql 이미지를 다운로드받자.
docker pull mysql
위와 같이 버전을 명시하지 않으면, 최신 버전을 다운로드한다.
만약 특정 버전을 다운로드하고싶으면 아래와 같이 태그에 버전을 지정하도록 하자.
docker pull mysql:8.0.31
다운받은 이미지는 아래 명령어로 확인할 수 있다.
docker images
3. MySQL Docker 컨테이너 생성 및 실행
아래 명령어로 docker 컨테이너를 생성 및 실행하자.
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=<password> -d -p 13306:3306 mysql
아래는 명령어에 사용된 키워드들에 대한 자세한 설명이다.
--name mysql-container | 해당 컨테이너 이름을 'mysql-container'라고 지정한다. 이 이름은 컨테이너를 식별하고 관리하는데 사용된다. |
-e MYSQL_ROOT_PASSWORD=<password> | mysql 컨테이너에 환경 변수를 설정한다. (루트 사용자의 비밀번호 지정) |
-d | 컨테이너를 백그라운드에서 실행한다. |
-p 13306:3306 | 호스트 머신의 13306 포트를 mysql 컨테이너 내부의 3306 포트로 연결한다. |
아래 명령어로 docker 컨테이너의 목록을 확인할 수 있다.
STATUS부분을 보면 현재 mysql container가 실행중인 상태임을 알 수 있다.
docker ps -a
3. MySQL 컨테이너 중지 및 실행
docker 컨테이너를 실행 / 중지 / 재실행 시키는 방법은 다음과 같다.
docker stop mysql-container
docker start mysql-container
docker restart mysql-container
🤔 start와 restart의 차이
start와 restart 모두 컨테이너가 실행중이 아니라면 컨테이너를 실행시킨다.
컨테이너가 실행중인 상태에서 start 명령어 입력시 아무 일도 일어나지 않으며, restart 명령어 입력시 컨테이너가 재시작된다.
4. MySQL 컨테이너 접속
아래 명령어를 실행하면 MySQL 컨테이너에 접속해 내부에서 명령어를 실행할 수 있다.
docker exec -it mysql-container bash
📚 employee sample DB 적재하기
이제 위에서 띄운 mysql docker 컨테이너에 employee sample DB를 적재해보자.
1. employee sample DB 다운
아래 github 저장소에 가서 employee sample DB를 zip파일 형식으로 다운받는다.
2. 압축 해제
unzip 명령어를 수행하거나 직접 다운로드한 zip파일을 압축 해제한다.
unzip test_db-master.zip
3. 파일을 컨테이너로 복사
test_db-master 폴더를 mysql 컨테이너로 복사하자.
container 아이디 확인
docker ps -a
컨테이너로 복사
docker cp {파일경로} {컨테이너id}:{컨테이너 파일경로}
docker cp test_db-master 52f4:/lib/
4. MySql 컨테이너에서 sample DB 설치
MySQL 컨테이너에 접속 후, sample DB를 설치하자.
MySQL 컨테이너 접속
위에서 언급한 방식으로 MySQL 컨테이너에 접속하자.
docker exec -it mysql-container bash
복사된 폴더로 이동
컨테이너에서 위에서 복사한 파일이 정상적으로 복사되었는지 확인하고, 해당 폴더로 이동하자.
sample DB 설치
아래 명령어로 sample DB를 설치할 수 있다.
mysql -u root -p -t < employees.sql
5. sample DB 확인 및 활용
이제 mysql에 접속해 DB가 잘 적재되었는지 확인하고 이를 활용하여 여러 실습들을 진행하면 된다!
참고 자료
'프로그래밍' 카테고리의 다른 글
[Spring] @Async와 스레드풀 (4) | 2023.08.25 |
---|---|
[Spring] Oauth2 소셜 로그인 확장에 유리하게 개선하기 (Kakao, Google, Naver) (1) | 2023.08.23 |
Git-flow란? (1) | 2023.07.12 |
JWT란? (0) | 2023.07.11 |
OAuth2.0 란? (2) | 2023.07.07 |