본문 바로가기
DATABASE/MySQL

mysql DB docker 로 빠르게 테스트 해보기

by 프즈 2023. 3. 28.
반응형

개발하면서 데이터베이스가 아주 잠지 필요한 경우가 있어요. 테스트만 잠깐 해보고 지우면 그만인 경우 도커를 이용해서 테스트하면 정말 좋아요. 요즘 postgres를 주로 사용하다가 mysql에서 테스트할 일이 있어서 서버를 직접 설치할까 고민하다가 그냥 도커로 했어요. 지우기도 깔끔하고 좋네요.

도커 아직 없다면 이전 글을 참고해서 설치하세요. https://tolovefeels.tistory.com/entry/UBUNTU-Docker-Install

도커 실행

mysql 도커 이미지를 다운로드하여서 실행하는 명령어를 실행하세요. name 옵션으로 원하는 이름으로 지정하세요. 저는 mysql이라고 지정했습니다. 설치하면서 root 암호를 MYSQL_ROOT_PASSWORD 변수 설정으로 지정하세요. 또한 3306 포트를 접근할 수 있도록 설정하는 옵션을 사용합니다.

docker run --name mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:latest

실행 확인

잘 실행되고 있는 것을 확인하세요.

docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS         PORTS                                                  NAMES
4d6cc309b286   mysql:latest   "docker-entrypoint.s…"   10 seconds ago   Up 8 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql

명령어로 접속하기

도커 환경으로 명령어로 접속해서 테스트 전용 계정을 만들려고 합니다. 

docker exec -it mysql bash

도커 환경으로 접속하고 나서 mysql 명령어로 root로 mysql DB에 접속 합니다. 도커 실행하면서 설정했던 암호 1234를 입력하고 로그인합니다.

mysql -uroot -p

계정과 DB 생성

데이터베이스를 생성합니다.

mysql> create database test;
Query OK, 1 row affected (0.02 sec)

테스트 계정을 생성합니다.

mysql> create user test identified by 'test';
Query OK, 0 rows affected (0.02 sec)

생성 한 테스트 계정이 테스트 데이터베이스를 사용할 수 있도록 모든 권한을 부여합니다.

mysql> grant all privileges on test.* to test;
Query OK, 0 rows affected (0.01 sec)

로그인 테스트

이제 새로운 계정으로 로그인 테스트 합니다.

mysql -utest -p test

반응형

댓글