MySQL | MySQL 설치

현재 MySQL은 MySQL Enterprise Edition과 MySQL Community Server의 두 가지 버전이 있다. MySQL Enterprise는 상용 버전의 MySQL으로 공식 지원의 제공과 관리 도구를 포함되어 있다. 이에 반해 MySQL Community Server는 무료 데이터베이스이다. 여기에서는 MySQL Community Server를 Docker에서 설치 방법에 대해 설명한다.

Docker 버전 확인

당연한 말이겠지만 먼저 도커가 설치가 되어 있는지 확인을 해야 한다.

docker --version

실행하면 아래와 같이 버전이 확인이 도커가 잘 설치된 것이다.

 % docker --version
Docker version 20.10.8, build 3967b7d

MySQL Docker 이미지 다운로드

아래 명령어를 실행하여 Elasticsearch Docker 이미지를 다운로드 받는다.

docker pull mysql

실행하면 아래와 출력될 것이다.

% docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
07aded7c29c6: Pull complete
f68b8cbd22de: Pull complete
30c1754a28c4: Pull complete
1b7cb4d6fe05: Pull complete
79a41dc56b9a: Pull complete
00a75e3842fb: Pull complete
b36a6919c217: Pull complete
635b0b84d686: Pull complete
6d24c7242d02: Pull complete
5be6c5edf16f: Pull complete
cb35eac1242c: Pull complete
a573d4e1c407: Pull complete
Digest: sha256:4fcf5df6c46c80db19675a5c067e737c1bc8b0e78e94e816a778ae2c6577213d
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest

위와 같이 버전을 입력하지 않고 실행하게 되면 최신 버전의 MySQL Docker 이미지를 다운받게 된다. 특정 version을 설치하기 원한다면 아래와 같이 버전을 기입하면 된다.

docker pull mysql:{version}

MySQL Docker 컨테이너 실행

아래 명령어를 실행하여 컨테이너의 실행을 한다.

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

여기서 도커 컨테이너명은 --name 옵션으로 mysql 이라고 지정하였다. 다른 이름으로 해도 상관 없다.

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

MySQL Docker 컨테이너 실행 확인

아래 명령어를 실행하여 컨테이너의 실행을 확인한다.

docker ps

실행되면 MySQL가 아래와 같이 실핼되고 있는 것을 확인 할 수 있다.

% docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
79c4333a40db   mysql:latest   "docker-entrypoint.s…"   40 seconds ago   Up 39 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql

MySQL Docker 컨테이너 시작/중지/재시작

MySQL Docker 컨테이너 중지

$ docker stop mysql

MySQL Docker 컨테이너 시작

$ docker start mysql

MySQL Docker 컨테이너 재시작

$ docker restart mysql

MySQL Docker 컨테이너 접속

docker exec -it mysql bash
% docker exec -it mysql bash
root@79c4333a40db:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> ^C
mysql>