[Docker] Docker에 mySQL 설치하기

목차

  1. mySQL이란?
  2. mySQL을 Docker에 설치하기
  3. mySQL에 기본 테이블 생성하기
  4. Workbench로 접속하기


mySQL이란?

mySQL이란 무엇인가?는 위키피디아 링크와 서버 구축이야기 - mySQL 링크를 참고하시기를 바란다. 본 포스팅에서는 WSL2 - Docker에 설치하는 데에 집중하여 기술하려 한다.

기술하기에 앞서 이번 mySQL 환경 설정 포스팅은 MariaDB 환경 설정 포스팅의 내용과 거의 유사하다. 이 둘은 같은 아버지에게서 나온 자매이기 때문이다. 심지어 사용하는 소스코드, DB명령 구조, 통신 port도 같다. 이 두개의 DB를 동시 사용 시 port를 조정하는 방법은 MariaDB 포스팅을 참고하자.


mySQL을 Docker에 설치하기

  1. 먼저 hub.docker.com로 이동하여 검색창에 ‘mysql’을 입력하자.
    mySQL을 검색 후 제일 많이 다운로드한 공식 이미지를 찾자


  2. 화면의 내용을 쭉 읽어봐도 좋지만 아래를 입력하여 mySQL image를 본인의 컴퓨터로 데려오면 된다.

    1
    docker pull mysql

    docker pull 결과


  3. 데려온 docker image를 먼저 확인하여 정상적으로 mysql image가 표시되는지 확인한다.

    1
    docker images

    mysql image 표시


  4. Container를 생성한다.

    1
    docker run --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD="<YourStrong@Passw0rd>" -d mysql

위의 각 항목은 다음과 같다.
(1) docker run : docker image에서 container를 생성한다.
(2) –name mysql01 : container의 이름은 mysql01로 한다.
(3) -p 3306:3306 : 해당 container의 port forwarding에 대해 inbound/outbound port 모두 3306으로 설정한다.
(4) -e : container 내 변수를 설정한다.
(5) MYSQL_ROOT_PASSWORD=”암호” : ROOT 암호를 설정 따옴표 내의 내용은 암호이다.
(6) -d mysql : mysql이라는 이미지에서 분리하여 container를 생성한다.


이를 실행하면 다음과 같이 나타난다.

mysql container 생성

  1. 생성한 컨테이너가 정상적으로 실행 중인 지 확인한다.

    1
    sudo docker ps -a

    mysql01 container 확인


  2. 이제 생성한 Container를 이용하여 mySQL 서버를 실행해본다.

    1
    sudo docker exec --user="root" -it mysql01 bash

    mysql01 container의 bash


  3. 다음은 mySQL Database를 실행시킨다.

    1
    mysql --user=root --password="<YourStrong@Passw0rd>"

아래와 같이 mysql 콘솔이 나타나면 성공적으로 접속한 것이다.

mysql01 container의 bash

  1. mysql 콘솔에서 빠져나오는 방법은 quit을 입력하자.
    1
    quit

mySQL에 기본 테이블 생성하기

아래는 기본적인 mySQL의 명령어이자, GUI를 사용하기 전에 새로운 Database와 Data Table을 생성하는 과정이다. 명령어도 볼 겸 한 번 따라해 보자.

  1. mysql Database 접속 후 서버 내 모든 데이터베이스 이름 확인하는 방법

    1
    mysql> SHOW DATABASES;
  2. DATABASE 생성하기

    1
    mysql> CREATE DATABASE 데이터베이스이름;
  3. 데이터베이스 사용

    1
    mysql> USE 데이터베이스이름;
  4. 특정 DB 내 모든 Table 보기

    1
    mysql> SHOW TABLES;
  5. Data Table을 생성하기

    1
    mysql> CREATE TABLE 데이터테이블이름 (데이터명 데이터유형);
  6. Data Table에 데이터 입력하기

    1
    mysql> INSERT INTO 데이터테이블이름 (데이터명) VALUES(데이터값);
  7. Data Table의 데이터 보기

    1
    mysql> SELECT * FROM 데이터테이블이름;

결과는 아래와 같다.

mysql 실행 결과

  1. quit을 입력하여 빠져나오자.
    1
    quit

Workbench로 접속하기

mySQL을 GUI로 활용하는 도구는 Workbench이다. GUI를 활용하여 조금 더 편리하게 데이터베이스를 사용할 수 있다.

  1. 먼저 mySQL Workbench 설치를 위해 공식 홈페이지로 이동하자.


  2. 다운로드 페이지에서 내용을 잘 확인 후 다운로드하자.

운영체제와 bit를 잘 보고 다운로드하자

  1. 설치하려고 했더니 Visual C++ 2019 재배포패키지가 없어서 설치할 수 없다는 에러가 나타난다. 일단 확인 > Finish를 눌러 종료한다.

재배포패키지 없음 오류
일단 종료하자

  1. 재배포 패키지를 먼저 설치하자. Microsoft 공식 재배포 패키지 페이지로 이동하여 Visual C++ 2019 재배포 패키지를 다운로드 한다.

필자는 x64로 다운로드 및 설치

  1. 다운로드 받은 재배포 패키지를 ‘동의함’, ‘설치’를 클릭하여 설치한다.

재배포 패키지 설치
재배포 패키지 설치 완료

  1. 다시 다운로드한 Workbench를 실행하면 아래와 같은 화면이 나타난다. 설치 과정은 그냥 무심히 다음, 다음, 종료하면 된다. 우리가 일상적으로 진행하는 설치과정이므로 자세한 설명은 생략한다.

재배포 패키지 설치 완료
재배포 패키지 설치 완료

  1. Workbench를 실행한 후 상단의 Database > Connect to Database를 선택한다.

Connect to Database 선택

  1. 새 창이 나타나면 Store in Vault를 클릭하여, 암호를 입력한다. 우리가 위에서 mySQL 서버를 만들 때 사용한 암호를 입력하면 된다. (위에서는 <YourStrong@Passw0rd>를 사용했었다.)

Database 암호 임력

  • 주소 : 127.0.0.1
    • ID : root
    • PW : 위에서 설정한 root 암호 입력

  1. 정상적으로 접속되면 데이터베이스를 선택한 후 데이터테이블을 조회해 보자. 아래와 같이 출력되면 정상이다.

GUI에서 Data Table 조회

  1. Workbench 자세한 사용방법은 본 포스팅과 크게 관련이 없으므로 설명하지 않는다. 자세한 내용은 인터넷을 검색해서 사용하기를 권장한다.