Oracle Cloud 인스턴스 MySQL 설치

JoonYoung Maeng·2022년 3월 27일
0
post-thumbnail

오라클 클라우드 인스턴스 내에 설치한 도커를 통해 MySQL 이미지를 설치하고, 로컬 환경에서 접속하는 방법을 정리한다.

오라클 클라우드 인스턴스 방화벽 설정

컴퓨트 > 인스턴스로 이동한 후 인스턴스 페이지로 접속한다.

인스턴스 내용 중 오른쪽 부분의 서브넷 부분을 클릭한다.

서브넷 세부정보 페이지에서 하단의 보안목록의 리스트에서 Default Security List를 선택한 후 수신 규칙 추가를 클릭한다.

위와 같이 정보를 입력해준 후 수신 규칙 추가를 클릭한다.

수신 규칙 추가를 클릭하면 위와 같이 수신 규칙이 추가된 것을 확인할 수 있다.

Ubuntu 방화벽 설정

오라클 클라우드 인스턴스는 기본 이미지가 오라클 리눅스 8버전이다.

하지만, 이미지를 Ubuntu로 변경해서 인스턴스를 생성했다면, Ubuntu의 방화벽을 따로 설정을 해줘야 외부에서 접속이 가능해진다.

따라서, iptables Configuration을 업데이트 해줘야 오라클 클라우드 수신규칙에서 편집한 내용들을 반영할 수 있다 .

오라클 클라우드 공식 문서 - PHP, Apache 설치 (8번) 참고

$ sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3306 -j ACCEPT
$ sudo netfilter-persistent save    

# netfilter-persistent save 안되는 경우
$ sudo apt install -y netfilter-persistent

도커로 MySQL 설치

도커를 이용해 MySQL 이미지를 가져온다.

다른 버전을 가져오고 싶다면 버전을 명시해준다.

$ sudo docker pull mysql      # mysql 최신 버전의 이미지를 가져오기 = mysql:latest
$ sudo docker pull mysql:버전  # ex) mysql:5.6.23

docker-compose 파일을 통해 도커 컨테이너를 관리해주면 편리하기 때문에 docker-compose를 설치한 후 docker-compose 파일을 작성한 후 compose파일을 관리할 디렉토리에 넣어준다.

$ sudo apt install -y docker-compose # docker compose 설치

docker-compose 파일은 기본적을 yaml 형식의 파일로 저장된다.

MySQL 컨테이너 관련 정보들을 docker-compose 파일에 yaml 형태로 작성해준다. 인스턴스에 접속한 후 nano 편집기나 vi에디터를 이용해 파일을 생성한다.

version : "3.1" #파일 버전
services :
        mysql :
               image : mysql:latest    # MySQL 이미지 버저너
               container_name : mysql  # 컨테이너 이름 지정
               ports :
                      - "3306:3306"    # 포트 마운트 
               restart : always
               environment :
                       MYSQL_ROOT_PASSWORD : # root 로 접속할 때 사용할 비밀번호
                       TZ : "Asia/Seoul"     # TimeZone 세팅
               command :
                       - --character-set-server=utf8mb4
                       - --collation-server=utf8mb4_unicode_ci
               volumes :
                       - /home/ubuntu/docker/data/mysql:/var/lib/mysql

docker-compose 파일을 생성한 후 docker-compose 파일을 실행해준 뒤 컨테이너가 잘 실행되었는지 확인한다.

$ sudo docker-compose up -d  # docker-compose 파일 실행
$ sudo docker ps             # 실행중인 도커 컨테이너 확인

MySQL을 실행하는 도커 컨테이너가 잘 실행되고 있으면, 도커 컨테이너에 접속한 후 root 권한으로 MySQL 서버에 접속한다.

$ sudo docker exec -it mysql bash # mysql -> 컨테이너 이름
$ sudo mysql -u root -p

여기까지 완료되었다면, 도커와 docker-compose 파일을 이용해 도커 설치 및 인스턴스 내에서 접속까지 완료했다.

이제 내 로컬 환경에서 MySQL Workbench로 접속이 되는지 확인해본다.

외부에서 접근이 잘되는 것을 확인할 수 있다.

📄 Reference

오라클 클라우드에 도커 MYSQL 설치해보기 : https://velog.io/@dldhk97/오라클-클라우드에-도커-MYSQL-설치해보기#docker에-mysql-설치

[Database] docker-compose로 MySQL 설치하기 : https://wecandev.tistory.com/107

profile
백엔드 개발자 지망생입니다!

2개의 댓글

comment-user-thumbnail
2023년 3월 3일

오라클 클라우드로 인스턴스 만들고, mysql 환경 구성하는데 아주 큰 도움이 되었습니다! 좋은글 감사합니다!

1개의 답글