Programming/Server

[Server] GCP Docker MariaDB 설치 및 외부 접속

JIHYEON LEE 2022. 1. 11. 21:10

MariaDB 설치 및 설정(외부 접속을 위한)

1. image 검색하기

docker search mysql

 

 

2. image 다운로드 받기

docker pull mariadb

 

 

3. mariadb 컨테이너 추가 및 구동하기

docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=rootpwd mariadb

--name mariadb: 컨테이너 이름을 mariadb로 지정

-d: 컨테이너를 백그라운드로 실행

-p 3306:3306: 호스트에서 3306 포트 접속 시 컨테이너 3306 포트로 포워딩

-e MYSQL_ROOT_PASSWORD=rootpwd: mariadb root password는 rootpwd

mariadb: 다운로드 받은 이미지 이름

 

 

4. mariadb 접속

docker exec -it mariadb /bin/bash
mysql -u root -p

컨테이너의 bash로 접속한 후, root 계정으로 로그인하기

password는 -e MYSQL_ROOT_PASSWORD에서 설정한 것

 

 

5. 설정 파일 수정을 위한 vim 설치

apt-get update
apt-get install nano
apt-get install vim

컨테이너의 bash로 접속한 상태에서 실행

 

 

6. 외부 접속을 위한 설정 변경

     - /etc/mysql/mariadb.conf.d/50-server.cnf

vim /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 0.0.0.0 으로 변경하여 모든 접속을 허용시키기

 

 

7. mariadb 재시작

docker stop mariadb
docker start mariadb

 

 

 

GCP VM 인스턴스 방화벽 설정

1. GCP VM 인스턴스 3306 포트 열기

     VPC 네트워크 - 방화벽 - 방화벽 규칙 만들기

 

소스 범위: 0.0.0.0/0

프로토콜 및 포트: tcp 3306

 

 

 

mariadb 외부 접속하기

1. HeidiSQL을 통해 mariadb 접속하기

호스트명/IP: 해당 서버의 IP

사용자: root (사용자를 추가해서 사용할 수도 있음)

암호: -e MYSQL_ROOT_PASSWORD에서 설정한 것

데이터베이스: 추가적으로 test라는 database를 생성했음 (따로 database를 생성하지 않았을 경우 비워두기 가능)

 

 

 

 

 

reference

     -  [Docker] MariaDB 설치하기

        https://logical-code.tistory.com/122