IT/서버

docker로 mysql 컨테이너 사용하기

thesse 2019. 10. 2. 21:44
300x250
반응형

문제상황

잘 쓰던 mysql이 갑자기 사망했다.

아무리 구글링을 해도 내 실력으로는 수습이 불가능하다.

그래서 아예 삭제하고 새로 설치하려고 했는데, 웬걸 삭제조차 안된다...

그래서 GCP 인스턴스를 새로 파는 김에, 이번에는 mysql을 apt로 인스톨하지 않고 도커 컨테이너로 사용해보기로 했다.

여차하면 날리고 새로 깔기 쉽게...^^!

 

 

 

도커 설치

curl -fsSL https://get.docker.com/ | sudo sh

제대로 설치되었는지 확인하려면 docker version을 쳐보자.

 

 

 

mysql 컨테이너 생성

sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=(패스워드) -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql mysql:5.7

* 옵션들

--name : 컨테이너 이름 지정. 안해주면 랜덤한 이름이 지어진다.

--e : 로그인 패스워드 지정

-d : 백그라운드로 실행

-p : 포트 지정

-v : 볼륨 설정 (컨테이너를 날려도 데이터는 지킬 수 있게... 도커 디렉토리를 GCP 리눅스에 마운트해주기)

 

생성이 완료되면 랜덤한 문자로 이루어진 컨테이너 아이디를 띄워준다.

docker ps 명령어로 확인해보자.

 

 

 

mysql 컨테이너 접속

mysql -h127.0.0.1 -uroot -p(패스워드)

접속할 때는 기존 mysql 서버에 접속할때와 달리 -h127.0.0.1이라고 써줘야 접속이 가능했다.

 

접속한김에 db 하나 만들기...

 

 

 

컨테이너 설정 확인

-p 옵션으로 설정한 포트가 잘 잡혔을까?

기존 mysql 서버를 사용할 때는 3306 포트가 1093/mysqld로 잡혀 있었는데

지금은 docker-proxy로 잡혀있는 것이 확인된다.

 

 

 

-v 옵션으로 설정한 볼륨이 잘 지정됐을까?

/var/lib/mysql 디렉토리가 없었는데 생겼다.

컨테이너로 접속해서 만든 0626vote DB 폴더도 생겼다.

 

 

 

 

연결완료

새로운 데이터베이스가 생겼으니 데이터를 입력하고 잘 돌아가나 확인해보자.

 

mysql이 죽은 바람에 연결 안됐던 기존 게시판...

 

지금은!

 

 

이렇게 무사히 복구되었다.

 

해피엔딩~~~

300x250
반응형