[DB/SQL] MySQL 실습 환경 구성

songeunm·2025년 5월 16일

DB & SQL

목록 보기
13/27

🎱 방법

  • Docker 통해 MySQL 이미지를 다운받아 컨테이너를 구성
  • 컨테이너에서 MySQL 실행
  • DBeaver를 사용해 MySQL에 접속

🎱 이유

  • Docker
    • MySQL을 격리된 안전한 공간에서 실행
    • 설치가 간편 (로컬에 직접 설치 ❌)
    • 테스트/학습 환경 분리
    • 버전 변경 쉬움 (다른 MySQL 버전으로 컨테이너만 바꿔 실행 가능)
    • 로컬 설치보다 삭제 간단 (컨테이너만 삭제)
  • DBeaver
    • 오픈소스
    • 다양한 DB 지원
    • 현업에서 널리 사용(된다고 함)
    • SQL 편집, 테이블 설계, SP 작성/실행, ERD 시각화까지 가능

🎱 환경 구성

⚾️ MySQL 컨테이너 생성

본격적으로 환경을 구성해보자.
Docker가 설치되었다는 가정 하에 진행하겠다.

일단 Docker를 실행시켜야한다. 이후 윈도우는 꺼도 되지만 백그라운드에서 실행중인 상태여야 한다.
터미널을 키고 아래와 같이 명령어를 입력한다.

docker run --name mysql-local -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306 -d mysql:8
  • docker run
    Docker에서 새 컨테이너를 실행한다.
  • --name mysql-local
    컨테이너의 이름을 mysql-local로 지정한다.
  • -e MYSQL_ROOT_PASSWORD=1234
    -e는 환경변수를 설정하는 옵션.
    MySQL의 root의 비밀번호를 1234(예시)로 설정한다.
    본인이 원하는 비밀번호를 설정한다.
  • -p 3306:3306
    호스트의 3306 포트를 컨테이너의 3306 포트와 연결한다.
    포트 포워딩을 통해 로컬 DB 툴로 접속이 가능하다.
    왼쪽이 호스트, 오른쪽이 컨테이너의 포트이다.
    3306은 MySQL의 기본 포트이다.
  • -d
    detached(백그라운드 모드) 옵션.
    명령어 실행 후 터미널이 컨테이너에 묶이지 않는다.
  • mysql:8
    사용할 이미지와 버전.
    이미지를 로컬에서 찾을 수 없을 시 자동으로 다운로드한다.

다음 명령어를 통해 컨테이너가 제대로 생성되었는지 확인할 수 있다.

docker ps

⚾️ DB 접속

다음 명령어를 통해 MySQL에 CLI로 접속 가능하다.

docker exec -it mysql-local mysql -u root -p

하지만 더 쿼리 실습에 적합한 환경을 위해 GUI 툴에서 접속하는 방법을 사용할 것이다.
사용 가능한 툴은 여러가지가 있다.

  • DBeaver
  • MySQL Workbench
  • TablePlus
  • DataGrip

그중에서 DBeaver를 사용하도록 하겠다.

DBeaver 공식 페이지에서 OS에 맞는 파일을 다운로드한 뒤 설치한다.

DBeaver를 실행한 뒤 좌측 상단의 Database > New Database Connection 또는 ctrl + shift + N 를 통해 새로운 DB 세션을 생성한다.
DB중에서 MySQL을 선택한다.

다음 윈도우에서 정보를 입력한다.

항목입력
Server Hostlocalhost
Port3306
Usernameroot
Password1234 (컨테이너 생성시 지정했던 비밀번호) + Save password 체크

다음과 같이 떴다면 완료된 것이다.

간혹 여기에 ❌ 표시가 붙거나 Public Key Retrieval is not allowed 라는 에러 메시지가 뜰 수 있다.

이유는 MySQL 8부터는 caching_sha2_password 인증 플러그인을 사용하면서
비밀번호 인증 시 클라이언트가 public key를 서버에서 받아와야 하는데
DBeaver에서는 기본적으로 이 동작을 허용하지 않기 때문이다. (ChatGPT 피셜)

이럴 경우 해당 DB에서 우클릭 > Edit connection > Connection settings > Driver properties 로 이동한다.
useSSL 항목을 찾고 값을 false 로 변경한다.
항목들 아래에서 새 속성 추가 버튼 클릭 후 allowPublicKeyRetrieval:ture 로 넣어준다.
확인을 누르고 나온다.
확인해보면 정상화 되어있을 것이다.

이제 SQL editor를 열고 하고싶은 작업을 하면 된다!

profile
데굴데굴 구르는 개발자 지망생

0개의 댓글