본격적으로 환경을 구성해보자.
Docker가 설치되었다는 가정 하에 진행하겠다.
일단 Docker를 실행시켜야한다. 이후 윈도우는 꺼도 되지만 백그라운드에서 실행중인 상태여야 한다.
터미널을 키고 아래와 같이 명령어를 입력한다.
docker run --name mysql-local -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306 -d mysql:8
docker run--name mysql-local-e MYSQL_ROOT_PASSWORD=1234-p 3306:3306-dmysql:8다음 명령어를 통해 컨테이너가 제대로 생성되었는지 확인할 수 있다.
docker ps
다음 명령어를 통해 MySQL에 CLI로 접속 가능하다.
docker exec -it mysql-local mysql -u root -p
하지만 더 쿼리 실습에 적합한 환경을 위해 GUI 툴에서 접속하는 방법을 사용할 것이다.
사용 가능한 툴은 여러가지가 있다.
그중에서 DBeaver를 사용하도록 하겠다.

DBeaver 공식 페이지에서 OS에 맞는 파일을 다운로드한 뒤 설치한다.
DBeaver를 실행한 뒤 좌측 상단의 Database > New Database Connection 또는 ctrl + shift + N 를 통해 새로운 DB 세션을 생성한다.
DB중에서 MySQL을 선택한다.
다음 윈도우에서 정보를 입력한다.

| 항목 | 입력 |
|---|---|
| Server Host | localhost |
| Port | 3306 |
| Username | root |
| Password | 1234 (컨테이너 생성시 지정했던 비밀번호) + 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를 열고 하고싶은 작업을 하면 된다!