본문 바로가기
Study

Docker 에 mysql 서버 설치

by JSIM_DEV 2020. 12. 10.

개념

이미지 - 컨테이너를 만들기 위한 하나의 완성된 서비스

컨테이너 - 이미지를 통해 생성되며 하나의 실행 프로세스이다. (컴퓨팅 자원을 할당받아 실행된다.)

객체지향의 클래스와 객체 개념에 비유한다. 클래스 : 객체 = 이미지 : 컨테이너 // 하나의 이미지로 복수 컨테이너 생성 및 실행

도커에 MYSQL 이미지 다운로드 절차

  1. 도커 설치 명령어 창에서 docker -v 를 입력하여 잘 설치되었는지 확인
  2. 명령어 창에서 docker pull mysql:5.7.32를 입력

MYSQL 이미지 컨테이너로 실행

  1. docker run -d -p <PORT>:<PORT> -e MYSQL_ROOT_PASSWORD=<ROOT_PASSWORD> --name <CONTAINER_NAME> <IMAGE_NAME> 명령어 실행
  2. 위를 적용하면 오른쪽과 같다. docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql-container mysql:5.7.32
  3. docker ps -a 명령어를 실행하여 프로세스가 정상적으로 실행되고 있는지 확인

활성화된 컨테이너 접속

  1. docker exec -i -t <CONTAINER_NAME> bash 명령어 실행
  2. mysql -uroot -ppassword 명령어를 통해서 데이터베이스 접속확인

MYSQL 워크벤치에서 도커로 생성한 mysql에 접속

  1. MySQL Connections 추가
  2. 기본 정보값 입력하고, 우측 정보창에 위에 생성한 컨테이너의 포트, ip 값 입력 (루트 계정으로 해야함)
  3. Test Connection을 눌러서 접속 여부 확인
  4. 접속

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c3c5d9f9-72a6-420d-9015-c388c9cba83d/Untitled.png

MYSQL 새로운 유저 생성하기

  1. docker 컨테이너 실행 및 root 계정으로 mysql 접속
  2. use mysql; 명령어 실행
  3. create user <NEW_ACCOUNT_NAME>@<접속 가능 IP> identified by '<NEW_ACCOUNT_PW>'; 명령어 실행 // 접속 가능 IP 값에 '%'를 주면 모든 ip에서 접속 허용

MYSQL 유저 권한 부여

  1. docker 컨테이너 실행 및 root 계정으로 mysql 접속
  2. grant all privileges on '<DATABASE_NAME>.<TABLE_NAME 전체허용시 *>' to <ACCOUNT_NAME>@<접속 가능 IP> identified by '<ACCOUNT_PW>'; 실행
  3. flush privileges 실행
  4. show grants for <ACCOUNT_NAME>@<접속 가능 IP>; 실행하여 권한 적용 확인

MYSQL 유저 권한 해제

  1. docker 컨테이너 실행 및 root 계정으로 mysql 접속
  2. revoke all on '<DATABASE_NAME>.<TABLE_NAME 전체허용시 *>' from <ACCOUNT_NAME>@<접속 가능 IP>; 실행
  3. show grants for <ACCOUNT_NAME>@<접속 가능 IP>; 실행하여 권한 적용 확인

'Study' 카테고리의 다른 글

WebRTC 개념정리  (0) 2021.01.29
캐시와 캐싱서버  (0) 2020.12.10