[MySQL] docker를 이용한 RDBMS 세팅

기훈·2024년 3월 20일

MySQL

목록 보기
19/23

회사 서비스에 설정된 데이터 베이스와 데이터를 docker를 이용하여 로컬환경에 그대로 가져와 보자.

개발환경: Mac OS(m2), DBeaver, MariaDB10.2, Docker Desktop

  1. docker yml 파일에 해당하는 경로로 들어가 docker compose up -d 명령어를 실행한다. (yml에 명시된 환경으로 이미지를 구성하고 실행시킨다.)

  2. 로컬환경에 mysql을 설치한다.
    MariaDB 데이터를 dump 하기 위해서는 로컬 환경에 MySQL이 설치되어 있어야 한다. (이유는 생략)

  3. DBeaver 통해 테이블에 접속 한 후 dump 실행

    (로컬환경에 mysql 설치하면, 사진과 같이 Local client가 활성화 되고, "다음" 버튼을 누를 수 있다.

  4. dump한 sql 파일을 명령어를 통해 docker로 구성한 환경에 밀어넣는다.
    cat 덤프파일이름 | docker exec -i e14a8934b857 /usr/bin/mysql -u root --password=<비밀번호> 데이터베이스이름

명령어 해석해보기

  • cat:출력한다
  • dump-<데이터베이스이름>-202403191416.sql:라는 이름을 가진 파일을
  • |: 파이프라인을 통해 다른 환경에 입력으로 전달한다
  • docker exec: 도커 내부에서 명령어 실행
  • -i: 외부로부터 명령어를 입력받을 수 있음
  • e14a8934b857: 컨테이너 Id
  • /usr/bin/mysql: MySQL 클라이언트 경로
  • -u -root --password=<비밀번호>: root라는 이름으로 접속한다
  • 데이터베이스이름: 덤프파일을 해당 데이터베이스에 적용한다.

결론
지정된 SQL 덤프 파일의 내용을 읽어서, 특정 도커 컨테이너 내에서 실행 중인 MySQL 데이터베이스에 적용한다.

0개의 댓글