Spring Boot

[DOCKER] Docker에 MySQL 적용부터 WorkBench 연결까지!

재원쓰 2023. 2. 14. 21:32

<참고> https://oingdaddy.tistory.com/299

 


 

1. 도커 설치

https://www.docker.com/products/docker-desktop/

 

2. MySql 워크벤치 설치

https://dev.mysql.com/downloads/workbench/

 

도커에 이미지 생성

docker pull mysql:버전숫자
(현재 플젝 기준 👉 docker pull mysql:8.0.32)

 

도커에 생성된 이미지 확인

docker images

 

도커 컨테이너 생성 및 실행

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=비밀번호 --name 마이에스큐엘서버이름 mysql:버전숫자 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
(현재 플젝 기준 👉 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=220206 --name db_ola mysql:8.0.32 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

 

도커 컨테이너가 실행되고 있어야 접근이 가능하다.

 

컨테이너에 접속

docker exec -it 컨테이너명 bash
(현재 플젝 기준 👉 docker exec -it db_ola bash)

 

3. 컨테이너에 있는 MySql에 접속

mysql -u root -p

 

MySQL에 DB 생성

create database DB명
(현재 플젝 기준 👉 create database ola_db)

 

외부 접근 유저 생성

create user '이름'@'%' identified by '비밀번호';
(현재 플젝 기준 👉 create user 'root'@'%' identified by '220206';)

👆안될 때(이미 존재하는 상태여서 삭제하고 다시 만들어야 한다.) 참고

delete from mysql.user where User ='삭제할 아이디';
delete from mysql.db where User ='삭제할 아이디';

 

 

생성한 유저 접근 허용

grant all privileges on 내DB.* to '이름'@'%' identified by '비밀번호';
flush privileges;

 

접근권한 유저 확인

use mysql;
select user, host from user;

 

기타)

curl ifconfig.me

도커에서 내 아이피 확인